Compare commits
346 Commits
main/gingo
...
feature/cd
Author | SHA1 | Date |
---|---|---|
kaetemi | 879b792c6a | 4 years ago |
kaetemi | 431b1140e9 | 4 years ago |
kaetemi | 6f2e45d352 | 4 years ago |
kaetemi | 4169349166 | 4 years ago |
kaetemi | c624984da1 | 4 years ago |
kaetemi | b96d96f004 | 4 years ago |
kaetemi | 3609d6369a | 4 years ago |
kaetemi | 46541a700c | 4 years ago |
kaetemi | 8d4c0d0ef1 | 4 years ago |
kaetemi | be11ae1fb6 | 4 years ago |
kaetemi | f203559ecb | 4 years ago |
kaetemi | be28e102ec | 4 years ago |
kaetemi | d512d10f18 | 4 years ago |
kaetemi | 24ceb5df04 | 4 years ago |
kaetemi | bd0c694970 | 4 years ago |
kaetemi | 5769a3599e | 4 years ago |
kaetemi | 176e0975f6 | 4 years ago |
kaetemi | 7c4a2f857d | 4 years ago |
kaetemi | bc3a602ebc | 4 years ago |
kaetemi | 9eb7481c06 | 4 years ago |
kaetemi | 66debd7ebe | 4 years ago |
kaetemi | f0430ec8ad | 4 years ago |
kaetemi | caa4eea391 | 4 years ago |
kaetemi | 3604088713 | 4 years ago |
kaetemi | cd4b746bfa | 4 years ago |
kaetemi | 60f61caa2c | 4 years ago |
kaetemi | a5e9542f2f | 4 years ago |
kaetemi | 7b1136ff0b | 4 years ago |
kaetemi | abd5c38a80 | 4 years ago |
kaetemi | 2a37a76cb5 | 4 years ago |
kaetemi | 4c701386f4 | 4 years ago |
kaetemi | e9feca648a | 4 years ago |
kaetemi | 4ae411968e | 4 years ago |
kaetemi | aa2574e10a | 4 years ago |
kaetemi | a2c7c4dc25 | 4 years ago |
kaetemi | 29f313853d | 4 years ago |
kaetemi | 625d269c11 | 4 years ago |
kaetemi | dc12e2dea3 | 4 years ago |
kaetemi | ae1f4d2df3 | 4 years ago |
Xtarsia | dac3cc2292 | 4 years ago |
kaetemi | 9883454926 | 4 years ago |
kaetemi | b89441d673 | 4 years ago |
kaetemi | 35e18597ee | 4 years ago |
kaetemi | 6787bbf378 | 4 years ago |
kaetemi | a3e762f401 | 4 years ago |
kaetemi | 380722e2e6 | 4 years ago |
kaetemi | d11936a035 | 4 years ago |
kaetemi | c791fe5742 | 4 years ago |
Xtarsia | 5de288a2e7 | 4 years ago |
kaetemi | c08163dcb6 | 4 years ago |
kaetemi | ea6ba2ec97 | 4 years ago |
kaetemi | 9c6918d448 | 4 years ago |
kaetemi | 9cc899a3a6 | 4 years ago |
kaetemi | e773027c6d | 4 years ago |
kaetemi | 3e675b1422 | 4 years ago |
kaetemi | 5934147d9e | 4 years ago |
Xtarsia | 4ca95e1188 | 4 years ago |
kaetemi | 0499fce27d | 4 years ago |
kaetemi | 2295769ad5 | 4 years ago |
kaetemi | 1cfe858588 | 4 years ago |
kaetemi | 374601e8d1 | 4 years ago |
kaetemi | d86c000de2 | 4 years ago |
kaetemi | fa086ea4b9 | 4 years ago |
kaetemi | dcf242c3b1 | 4 years ago |
kaetemi | d31eb606eb | 4 years ago |
kaetemi | 46020d345c | 4 years ago |
kaetemi | 2b2b0a7d48 | 4 years ago |
Xtarsia | 277a854f8d | 4 years ago |
kaetemi | 52c7c16f69 | 4 years ago |
kaetemi | 92ee96a783 | 4 years ago |
kaetemi | b61ad76ac2 | 4 years ago |
Xtarsia | 7a9accde11 | 4 years ago |
kaetemi | d0f9685ee8 | 4 years ago |
Xtarsia | a2b68113ec | 4 years ago |
kaetemi | ec4e2e188e | 4 years ago |
kaetemi | 9580bd5ec0 | 4 years ago |
kaetemi | d2900df0f6 | 4 years ago |
kaetemi | ae876e481a | 4 years ago |
kaetemi | 8594b479e2 | 4 years ago |
Jan Boon | fbab39451f | 4 years ago |
kaetemi | 05501cf30b | 4 years ago |
kaetemi | 357bb28ef2 | 4 years ago |
kaetemi | 5056d3a72a | 4 years ago |
kaetemi | 91a44fd5b5 | 4 years ago |
kaetemi | a51597cf0b | 4 years ago |
kaetemi | f5553dfb59 | 4 years ago |
kaetemi | b4dc60f163 | 4 years ago |
kaetemi | 2859693c1e | 4 years ago |
kaetemi | 6853098df9 | 4 years ago |
kaetemi | c71f516ed2 | 4 years ago |
kaetemi | ccb141672f | 4 years ago |
kaetemi | 4a7a153a3e | 4 years ago |
kaetemi | e3ec67a698 | 4 years ago |
kaetemi | 505e13cd1e | 4 years ago |
Xtarsia | 14a0c5d471 | 5 years ago |
kaetemi | 7a035466da | 5 years ago |
kaetemi | 64fd9f0b78 | 5 years ago |
kaetemi | a7933bc818 | 5 years ago |
kaetemi | 669237dbae | 5 years ago |
kaetemi | a606684e34 | 5 years ago |
kaetemi | 4b4c14dabf | 5 years ago |
kaetemi | 7e232462d0 | 5 years ago |
kaetemi | 09cb0ea5d0 | 5 years ago |
kaetemi | f5eae12b80 | 5 years ago |
kaetemi | 1452a6ba6d | 5 years ago |
kaetemi | a6713b14a6 | 5 years ago |
kaetemi | b505ff9e13 | 5 years ago |
kaetemi | 154ae55165 | 5 years ago |
kaetemi | ada4e5bfbf | 5 years ago |
kaetemi | fb3e97db1d | 5 years ago |
kaetemi | 61974ec15c | 5 years ago |
kaetemi | af6c6b64c3 | 5 years ago |
kaetemi | 0528df7f0b | 5 years ago |
kaetemi | 18d2e393cf | 5 years ago |
kaetemi | 3da77ce061 | 5 years ago |
kaetemi | 90e1297c1d | 5 years ago |
kaetemi | 90931485ba | 5 years ago |
kaetemi | 195e9b1439 | 5 years ago |
kaetemi | 0f50806927 | 5 years ago |
kaetemi | 7d01d8411d | 5 years ago |
kaetemi | c1a3008ca0 | 5 years ago |
kaetemi | 3f39669c9a | 5 years ago |
kaetemi | 51ec683eea | 5 years ago |
kaetemi | ddc9cdabc4 | 5 years ago |
kaetemi | 324c69c8cc | 5 years ago |
kaetemi | 05fdc723f1 | 5 years ago |
Jan Boon | 4a55facb0c | 5 years ago |
kaetemi | def3d25249 | 5 years ago |
kaetemi | f32a5d95d4 | 5 years ago |
kaetemi | 5f3675446c | 5 years ago |
kaetemi | f39a7fe349 | 5 years ago |
kaetemi | 3117c55424 | 5 years ago |
Jan Boon | 185d71365e | 5 years ago |
kaetemi | 02c40934ef | 5 years ago |
kaetemi | f892608865 | 5 years ago |
Jan Boon | 9d1545bbe2 | 5 years ago |
kaetemi | 71a22b43db | 5 years ago |
kaetemi | 5a543239bb | 5 years ago |
Jan Boon | 6cdee90e4e | 5 years ago |
kaetemi | 17d91ad243 | 5 years ago |
kaetemi | 33bf80a3c7 | 5 years ago |
Jan Boon | 1f7fca7df3 | 5 years ago |
Jan Boon | a964da41f7 | 5 years ago |
kaetemi | a900a45153 | 5 years ago |
kaetemi | 0cfe43aa26 | 5 years ago |
kaetemi | 3e7035c6dd | 5 years ago |
kaetemi | ea021e1d96 | 5 years ago |
kaetemi | 55c3939789 | 5 years ago |
kaetemi | 7a71caca6e | 5 years ago |
kaetemi | 9dc0020b61 | 5 years ago |
kaetemi | c7b27c8d70 | 5 years ago |
kaetemi | 6c6a83bc5d | 5 years ago |
Jan Boon | 93f6770fe4 | 5 years ago |
Jan Boon | a94094f865 | 5 years ago |
Jan Boon | 746f033b5c | 5 years ago |
Jan Boon | 5d7e4a921f | 5 years ago |
Jan Boon | f48f4d4555 | 5 years ago |
Jan Boon | 31e1cd6feb | 5 years ago |
Jan Boon | 107728c944 | 5 years ago |
kaetemi | 4053220060 | 5 years ago |
kaetemi | 525db6976a | 5 years ago |
kaetemi | f344c0568c | 5 years ago |
kaetemi | 2d32bc2371 | 5 years ago |
kaetemi | 9d89d3dfca | 5 years ago |
kaetemi | 024447d9fb | 5 years ago |
kaetemi | d496d54ac4 | 5 years ago |
kaetemi | aec03f6234 | 5 years ago |
kaetemi | 1dce83d279 | 5 years ago |
kaetemi | 774b91df9c | 5 years ago |
kaetemi | d5b959db7e | 5 years ago |
kaetemi | b547fd62cb | 5 years ago |
kaetemi | eecd6f1f2c | 5 years ago |
kaetemi | 3f982c2214 | 5 years ago |
kaetemi | b232d0026a | 5 years ago |
kaetemi | be32f02a76 | 5 years ago |
Jan Boon | 48bc27c1e3 | 5 years ago |
kaetemi | 38a7b763d0 | 5 years ago |
kaetemi | f18f4196b4 | 5 years ago |
kaetemi | 35a9e747f7 | 5 years ago |
kaetemi | 8f1d0ebf23 | 5 years ago |
kaetemi | dabf75dbcf | 5 years ago |
kaetemi | a722988987 | 5 years ago |
kaetemi | c914e6fdf6 | 5 years ago |
kaetemi | ad4290f2c9 | 5 years ago |
kaetemi | 739730127d | 5 years ago |
kaetemi | 2cb353438b | 5 years ago |
kaetemi | 46786a1185 | 5 years ago |
kaetemi | 8daffed6c2 | 5 years ago |
kaetemi | 2a917ede27 | 5 years ago |
Jan Boon | 31a819f254 | 5 years ago |
kaetemi | ad15ada3ef | 5 years ago |
kaetemi | 2927b3dfb9 | 5 years ago |
kaetemi | e0a14d79ac | 5 years ago |
kaetemi | ba3c008767 | 5 years ago |
kaetemi | 8c6677dba6 | 5 years ago |
kaetemi | b6dbb65918 | 5 years ago |
Jan Boon | 4d742741d1 | 5 years ago |
kaetemi | 8dd7c52f8a | 5 years ago |
kaetemi | fcfc86c83e | 5 years ago |
kaetemi | f36c979c2e | 5 years ago |
kaetemi | 8bcccefd11 | 5 years ago |
kaetemi | 71c7e31806 | 5 years ago |
kaetemi | 6d5eb14d4f | 5 years ago |
kaetemi | 52d8304659 | 5 years ago |
kaetemi | 3cfedfcf9a | 5 years ago |
kaetemi | 0b47322d6c | 5 years ago |
kaetemi | bfed12711d | 5 years ago |
kaetemi | 84e924b496 | 5 years ago |
kaetemi | 613bb7ccd0 | 5 years ago |
kaetemi | 623ffc6be7 | 5 years ago |
kaetemi | 319ad4b0bf | 5 years ago |
kaetemi | de6eae7e0f | 5 years ago |
kaetemi | b159620fcc | 5 years ago |
kaetemi | 0e08489315 | 5 years ago |
kaetemi | 2ad9e1c78a | 5 years ago |
kaetemi | 8d7ce91b56 | 5 years ago |
kaetemi | 2d1d9c1b0b | 5 years ago |
kaetemi | 85e7b594c6 | 5 years ago |
kaetemi | f980988ae4 | 5 years ago |
kaetemi | ee8ccf13b7 | 5 years ago |
kaetemi | 8895eb88d6 | 5 years ago |
kaetemi | 679c7d7ac3 | 5 years ago |
kaetemi | ba6378e07c | 5 years ago |
kaetemi | b06b0fb08c | 5 years ago |
kaetemi | 81176f102f | 5 years ago |
Jan Boon | 2ad1b76886 | 5 years ago |
Jan Boon | b0fdfaeca9 | 5 years ago |
kaetemi | 4c7c240775 | 5 years ago |
kaetemi | ff87af8423 | 5 years ago |
kaetemi | afee5db9e2 | 5 years ago |
kaetemi | 0bae206bb2 | 5 years ago |
kaetemi | c57c9a1cf6 | 5 years ago |
Jan Boon | 0c8e9f7640 | 5 years ago |
kaetemi | 2b80ec75a9 | 5 years ago |
kaetemi | 0a2ce3c522 | 5 years ago |
kaetemi | 4ca10eb38c | 5 years ago |
kaetemi | 636d8dae55 | 5 years ago |
kaetemi | ecc2085b70 | 5 years ago |
kaetemi | 9b9829a6ab | 5 years ago |
kaetemi | 916be9833c | 5 years ago |
kaetemi | bb3f4052a7 | 5 years ago |
kaetemi | 439cae285d | 5 years ago |
Nimetu | ddd0a7507e | 5 years ago |
kaetemi | c54897bd4f | 5 years ago |
kaetemi | 94ad75bb72 | 5 years ago |
kaetemi | 6ed45fef0b | 5 years ago |
kaetemi | 85c9d4e4b6 | 5 years ago |
kaetemi | 7ac4eb3097 | 5 years ago |
kaetemi | 2f29d03d86 | 5 years ago |
kaetemi | f64ba76bfc | 5 years ago |
kaetemi | aa2386151f | 5 years ago |
kaetemi | 7505fae6d1 | 5 years ago |
kaetemi | f7bdd7ecd7 | 5 years ago |
kaetemi | d70c4a215d | 5 years ago |
kaetemi | 71a412c698 | 5 years ago |
kaetemi | 98a41b75bd | 5 years ago |
kaetemi | a86fb4e195 | 5 years ago |
kaetemi | 3ff031b5ff | 5 years ago |
Nimetu | 249ce945f1 | 5 years ago |
Nimetu | a6a8cb99f5 | 5 years ago |
ulukyn | f11bc06541 | 6 years ago |
Nimetu | 460eb92969 | 5 years ago |
Nimetu | ae68b543b8 | 5 years ago |
Inky | a5a6c321af | 6 years ago |
Inky | 89fa8ca0ac | 6 years ago |
Inky | 9c82a0436f | 6 years ago |
Inky | fb60e00acc | 6 years ago |
Inky | 0a48c4a6e3 | 6 years ago |
Nimetu | 1eb1b118f3 | 6 years ago |
Nimetu | 3b0324ad08 | 6 years ago |
Inky | 4baed9c664 | 6 years ago |
Inky | 41c3d0cbe0 | 6 years ago |
Inky | ccfffe0a8c | 6 years ago |
Inky | 17b96e4819 | 6 years ago |
Inky | 00d31f09c6 | 6 years ago |
ulukyn | 89c22b04a2 | 6 years ago |
ulukyn | cf4cb55f3e | 6 years ago |
ulukyn | 1b19cb4809 | 6 years ago |
Inky | fe4c58df42 | 6 years ago |
ulukyn | 498c02fa4d | 6 years ago |
ulukyn | a7e75b1c6c | 6 years ago |
Inky | d73ea16682 | 6 years ago |
Inky | 64987e8ed6 | 6 years ago |
Inky | 7230a84031 | 6 years ago |
Inky | 36918ac919 | 6 years ago |
Inky | 0683604ada | 6 years ago |
Inky | 038a3bca96 | 6 years ago |
Nimetu | a3bdd3dda5 | 6 years ago |
Inky | 4121a61c85 | 6 years ago |
Inky | 2f2329c67f | 6 years ago |
ulukyn | 9780decca0 | 6 years ago |
Inky | cad47321a3 | 6 years ago |
Inky | 417865bb3a | 6 years ago |
Ulukyn | 36036faffd | 6 years ago |
ulukyn | c0037fc55a | 6 years ago |
Inky | f96289dfbe | 6 years ago |
Riasan | e794b5dd01 | 6 years ago |
ulukyn | 11132f08e6 | 6 years ago |
Riasan | 2d83507b55 | 6 years ago |
ulukyn | 0debc7e6d6 | 7 years ago |
ulukyn | 698c71f137 | 7 years ago |
ulukyn | dcf959fe3d | 7 years ago |
Nimetu | 892d11d2be | 7 years ago |
kervala | 8f61819d43 | 7 years ago |
ulukyn | 0e7380599e | 7 years ago |
kervala | cf1df3e4de | 7 years ago |
ulukyn | 4beecdc81b | 7 years ago |
ulukyn | 0b970371a3 | 7 years ago |
ulukyn | 48f3d3b244 | 7 years ago |
ulukyn | e9e2590d53 | 7 years ago |
ulukyn | f7f1a6035e | 7 years ago |
ulukyn | 4f75f92610 | 7 years ago |
ulukyn | a50bd10b84 | 7 years ago |
ulukyn | 57406f6a8c | 7 years ago |
ulukyn | 65acd3bf9d | 7 years ago |
ulukyn | 16ce2e454c | 7 years ago |
ulukyn | c7bdaf513c | 7 years ago |
ulukyn | 724158c74c | 7 years ago |
Nuno Gonçalves | ed798cb62a | 7 years ago |
ulukyn | 971287ae78 | 7 years ago |
ulukyn | c56d2e136d | 7 years ago |
ulukyn | 3652b23bbb | 7 years ago |
ulukyn | 8b1ead9e77 | 7 years ago |
ulukyn | 5d7c8777a1 | 7 years ago |
ulukyn | 1a52cc3cb1 | 7 years ago |
ulukyn | 0093170ee9 | 7 years ago |
ulukyn | 50d6ae91ae | 7 years ago |
ulukyn | af6975ae11 | 7 years ago |
ulukyn | 0b0b980510 | 7 years ago |
ulukyn | f917d22b71 | 7 years ago |
ulukyn | 61cee990fc | 7 years ago |
ulukyn | fd458d5751 | 7 years ago |
ulukyn@gmail.com | 5c41e79ce0 | 7 years ago |
Riasan | 0b27a27a4c | 7 years ago |
ulukyn@gmail.com | 4f33715b06 | 7 years ago |
ulukyn@gmail.com | b623bb11f5 | 7 years ago |
ulukyn@gmail.com | 3baf7fdb12 | 7 years ago |
ulukyn@gmail.com | 4c91c418d4 | 7 years ago |
ulukyn@gmail.com | 99a949b889 | 7 years ago |
kaetemi | 998daa5c56 | 11 years ago |
kaetemi | a3a347fab4 | 11 years ago |
kaetemi | ba42ed3320 | 11 years ago |
kaetemi | 1359bbf8c2 | 11 years ago |
kaetemi | 5d9f3ce668 | 11 years ago |
kaetemi | 9fec239dfb | 11 years ago |
kaetemi | 06e9d20850 | 11 years ago |
@ -1,28 +1,27 @@
|
||||
4eddbaff0c5e5d685db96ee3e8427aa0fd96ac83 ryzomcore/v0.8.0
|
||||
00d9b6e29e95f56785fbf85abe60afd34674f402 ryzomcore/v0.9.0
|
||||
79776c337176dd5b02e1a74fe5dfb703b91747aa ryzomcore/v0.9.1
|
||||
fedf2aa443d09707beed814b0f499c6a5519cc84 ryzomcore/v0.10.0
|
||||
edaa3624a56420b02ccc64c26059801a389927ee ryzomcore/v0.11.0
|
||||
e3fe4855f22c3e75722e015dc33c091c340b3ad7 ryzomcore/v0.11.1
|
||||
9e583b717fd63be0be9fd60b99087abf1691ea49 ryzomcore/v0.11.2
|
||||
bfe5628e14a024ba7ea32e4b326ae433a07856b9 ryzomcore/v0.11.3
|
||||
9a6120735daa97c96ac5d85ca35c7f21f607bd87 ryzomcore/v0.12.0
|
||||
3e17907af67e8d66d80e6b714707bbf912607f2a ryzom-patch-3.0.0
|
||||
153e0b605c9e0c83ba05b6428c62838b49cc84b2 ryzom-patch-3.0.1
|
||||
9d41f2994d44b9aad92b83f945f114e4b6bed44a ryzom-patch-3.0.2
|
||||
4300cc14aad098b1f86ea4c55577b7fa4a4cb5d2 ryzom-patch-3.1.0
|
||||
d4060f217f4f834cc62a33f2f1ccdf3c28298066 ryzom-patch-3.1.0-hotfix
|
||||
043aaeb3d8a2a54177581b57bda87a9deaad510e ryzom-patch-3.1.0-april_patch
|
||||
4036ecf59e83960f03acebc2089eb2ff5eeaed0a ryzom-patch-3.2.0
|
||||
18403bb9485da3d9742c6f007a16d5619ebfb196 ryzom-patch-3.2.1
|
||||
822ff8f8917ad66e09e2c21c983282f6f693b9f6 ryzom-patch-3.3.0
|
||||
00dde390a394fce9da06c2f3264140282158d39f ryzom-patch-3.3.0
|
||||
dcd4c4d161ef775136e18c7e8f5072b75dede27e ryzom-patch-3.3.1
|
||||
fc4be8ebec5ca754ef4453bc6a9faef90837c674 ryzom-patch-3.4.0
|
||||
70eba02e8eab6920586dbabf74e9e8180c729980 ryzom-patch-3.4.0 Steam Fix
|
||||
3941482843f9cd130cfc16634efc08d34a98ed35 ryzom-patch-3.4.0 Atysmas
|
||||
ecae9feb4cceb78103e5d7236caccaf450796cdb ryzom-patch-3.5.0
|
||||
95783afa226f241062134eb62f4323295d29ac84 ryzom-patch-3.5.0.9637
|
||||
2102fb276eb69d49ed4923042215312a63c47c08 Live-746
|
||||
8eb94c3549be898fdc4a7c6d791d2477bdc11a18 ryzomcore/v1.0.1
|
||||
3e92c7104c20d6bc6c2147b4b5fc289e8621d322 ryzomcore/v1.0.0
|
||||
4eddbaff0c5e5d685db96ee3e8427aa0fd96ac83 v0.8.0
|
||||
00d9b6e29e95f56785fbf85abe60afd34674f402 v0.9.0
|
||||
79776c337176dd5b02e1a74fe5dfb703b91747aa v0.9.1
|
||||
fedf2aa443d09707beed814b0f499c6a5519cc84 v0.10.0
|
||||
edaa3624a56420b02ccc64c26059801a389927ee v0.11.0
|
||||
e3fe4855f22c3e75722e015dc33c091c340b3ad7 v0.11.1
|
||||
9e583b717fd63be0be9fd60b99087abf1691ea49 v0.11.2
|
||||
bfe5628e14a024ba7ea32e4b326ae433a07856b9 v0.11.3
|
||||
9a6120735daa97c96ac5d85ca35c7f21f607bd87 v0.12.0
|
||||
3e92c7104c20d6bc6c2147b4b5fc289e8621d322 v1.0.0
|
||||
8eb94c3549be898fdc4a7c6d791d2477bdc11a18 v1.0.1
|
||||
3e17907af67e8d66d80e6b714707bbf912607f2a ryzom/3.0.0
|
||||
153e0b605c9e0c83ba05b6428c62838b49cc84b2 ryzom/3.0.1
|
||||
9d41f2994d44b9aad92b83f945f114e4b6bed44a ryzom/3.0.2
|
||||
4300cc14aad098b1f86ea4c55577b7fa4a4cb5d2 ryzom/3.1.0
|
||||
d4060f217f4f834cc62a33f2f1ccdf3c28298066 ryzom/3.1.0-hotfix
|
||||
043aaeb3d8a2a54177581b57bda87a9deaad510e ryzom/3.1.0-april_patch
|
||||
4036ecf59e83960f03acebc2089eb2ff5eeaed0a ryzom/3.2.0
|
||||
18403bb9485da3d9742c6f007a16d5619ebfb196 ryzom/3.2.1
|
||||
822ff8f8917ad66e09e2c21c983282f6f693b9f6 ryzom/3.3.0
|
||||
00dde390a394fce9da06c2f3264140282158d39f ryzom/3.3.0
|
||||
dcd4c4d161ef775136e18c7e8f5072b75dede27e ryzom/3.3.1
|
||||
fc4be8ebec5ca754ef4453bc6a9faef90837c674 ryzom/3.4.0
|
||||
70eba02e8eab6920586dbabf74e9e8180c729980 ryzom/3.4.0-steam_fix
|
||||
3941482843f9cd130cfc16634efc08d34a98ed35 ryzom/3.4.0-atysmas
|
||||
ecae9feb4cceb78103e5d7236caccaf450796cdb ryzom/3.5.0
|
||||
95783afa226f241062134eb62f4323295d29ac84 ryzom/3.5.0.9637
|
||||
|
@ -1,8 +0,0 @@
|
||||
# This file is parsed by HunterGate command
|
||||
|
||||
hunter_config(luabind
|
||||
VERSION 0.9.1
|
||||
URL "https://github.com/nimetu/luabind/tarball/2fa4606"
|
||||
SHA1 "3b4646bab9f0b2362d7b8d71d78e40deaf3cc747"
|
||||
)
|
||||
|
@ -1,537 +0,0 @@
|
||||
# Copyright (c) 2013-2019, Ruslan Baratov
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
# This is a gate file to Hunter package manager.
|
||||
# Include this file using `include` command and add package you need, example:
|
||||
#
|
||||
# cmake_minimum_required(VERSION 3.2)
|
||||
#
|
||||
# include("cmake/HunterGate.cmake")
|
||||
# HunterGate(
|
||||
# URL "https://github.com/path/to/hunter/archive.tar.gz"
|
||||
# SHA1 "798501e983f14b28b10cda16afa4de69eee1da1d"
|
||||
# )
|
||||
#
|
||||
# project(MyProject)
|
||||
#
|
||||
# hunter_add_package(Foo)
|
||||
# hunter_add_package(Boo COMPONENTS Bar Baz)
|
||||
#
|
||||
# Projects:
|
||||
# * https://github.com/hunter-packages/gate/
|
||||
# * https://github.com/ruslo/hunter
|
||||
|
||||
option(HUNTER_ENABLED "Enable Hunter package manager support" ON)
|
||||
|
||||
if(HUNTER_ENABLED)
|
||||
if(CMAKE_VERSION VERSION_LESS "3.2")
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"At least CMake version 3.2 required for Hunter dependency management."
|
||||
" Update CMake or set HUNTER_ENABLED to OFF."
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include(CMakeParseArguments) # cmake_parse_arguments
|
||||
|
||||
option(HUNTER_STATUS_PRINT "Print working status" ON)
|
||||
option(HUNTER_STATUS_DEBUG "Print a lot info" OFF)
|
||||
option(HUNTER_TLS_VERIFY "Enable/disable TLS certificate checking on downloads" ON)
|
||||
set(HUNTER_ROOT "" CACHE FILEPATH "Override the HUNTER_ROOT.")
|
||||
|
||||
set(HUNTER_ERROR_PAGE "https://hunter.readthedocs.io/en/latest/reference/errors")
|
||||
|
||||
function(hunter_gate_status_print)
|
||||
if(HUNTER_STATUS_PRINT OR HUNTER_STATUS_DEBUG)
|
||||
foreach(print_message ${ARGV})
|
||||
message(STATUS "[hunter] ${print_message}")
|
||||
endforeach()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(hunter_gate_status_debug)
|
||||
if(HUNTER_STATUS_DEBUG)
|
||||
foreach(print_message ${ARGV})
|
||||
string(TIMESTAMP timestamp)
|
||||
message(STATUS "[hunter *** DEBUG *** ${timestamp}] ${print_message}")
|
||||
endforeach()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(hunter_gate_error_page error_page)
|
||||
message("------------------------------ ERROR ------------------------------")
|
||||
message(" ${HUNTER_ERROR_PAGE}/${error_page}.html")
|
||||
message("-------------------------------------------------------------------")
|
||||
message("")
|
||||
message(FATAL_ERROR "")
|
||||
endfunction()
|
||||
|
||||
function(hunter_gate_internal_error)
|
||||
message("")
|
||||
foreach(print_message ${ARGV})
|
||||
message("[hunter ** INTERNAL **] ${print_message}")
|
||||
endforeach()
|
||||
message("[hunter ** INTERNAL **] [Directory:${CMAKE_CURRENT_LIST_DIR}]")
|
||||
message("")
|
||||
hunter_gate_error_page("error.internal")
|
||||
endfunction()
|
||||
|
||||
function(hunter_gate_fatal_error)
|
||||
cmake_parse_arguments(hunter "" "ERROR_PAGE" "" "${ARGV}")
|
||||
if("${hunter_ERROR_PAGE}" STREQUAL "")
|
||||
hunter_gate_internal_error("Expected ERROR_PAGE")
|
||||
endif()
|
||||
message("")
|
||||
foreach(x ${hunter_UNPARSED_ARGUMENTS})
|
||||
message("[hunter ** FATAL ERROR **] ${x}")
|
||||
endforeach()
|
||||
message("[hunter ** FATAL ERROR **] [Directory:${CMAKE_CURRENT_LIST_DIR}]")
|
||||
message("")
|
||||
hunter_gate_error_page("${hunter_ERROR_PAGE}")
|
||||
endfunction()
|
||||
|
||||
function(hunter_gate_user_error)
|
||||
hunter_gate_fatal_error(${ARGV} ERROR_PAGE "error.incorrect.input.data")
|
||||
endfunction()
|
||||
|
||||
function(hunter_gate_self root version sha1 result)
|
||||
string(COMPARE EQUAL "${root}" "" is_bad)
|
||||
if(is_bad)
|
||||
hunter_gate_internal_error("root is empty")
|
||||
endif()
|
||||
|
||||
string(COMPARE EQUAL "${version}" "" is_bad)
|
||||
if(is_bad)
|
||||
hunter_gate_internal_error("version is empty")
|
||||
endif()
|
||||
|
||||
string(COMPARE EQUAL "${sha1}" "" is_bad)
|
||||
if(is_bad)
|
||||
hunter_gate_internal_error("sha1 is empty")
|
||||
endif()
|
||||
|
||||
string(SUBSTRING "${sha1}" 0 7 archive_id)
|
||||
|
||||
if(EXISTS "${root}/cmake/Hunter")
|
||||
set(hunter_self "${root}")
|
||||
else()
|
||||
set(
|
||||
hunter_self
|
||||
"${root}/_Base/Download/Hunter/${version}/${archive_id}/Unpacked"
|
||||
)
|
||||
endif()
|
||||
|
||||
set("${result}" "${hunter_self}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# Set HUNTER_GATE_ROOT cmake variable to suitable value.
|
||||
function(hunter_gate_detect_root)
|
||||
# Check CMake variable
|
||||
if(HUNTER_ROOT)
|
||||
set(HUNTER_GATE_ROOT "${HUNTER_ROOT}" PARENT_SCOPE)
|
||||
hunter_gate_status_debug("HUNTER_ROOT detected by cmake variable")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# Check environment variable
|
||||
if(DEFINED ENV{HUNTER_ROOT})
|
||||
set(HUNTER_GATE_ROOT "$ENV{HUNTER_ROOT}" PARENT_SCOPE)
|
||||
hunter_gate_status_debug("HUNTER_ROOT detected by environment variable")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# Check HOME environment variable
|
||||
if(DEFINED ENV{HOME})
|
||||
set(HUNTER_GATE_ROOT "$ENV{HOME}/.hunter" PARENT_SCOPE)
|
||||
hunter_gate_status_debug("HUNTER_ROOT set using HOME environment variable")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# Check SYSTEMDRIVE and USERPROFILE environment variable (windows only)
|
||||
if(WIN32)
|
||||
if(DEFINED ENV{SYSTEMDRIVE})
|
||||
set(HUNTER_GATE_ROOT "$ENV{SYSTEMDRIVE}/.hunter" PARENT_SCOPE)
|
||||
hunter_gate_status_debug(
|
||||
"HUNTER_ROOT set using SYSTEMDRIVE environment variable"
|
||||
)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(DEFINED ENV{USERPROFILE})
|
||||
set(HUNTER_GATE_ROOT "$ENV{USERPROFILE}/.hunter" PARENT_SCOPE)
|
||||
hunter_gate_status_debug(
|
||||
"HUNTER_ROOT set using USERPROFILE environment variable"
|
||||
)
|
||||
return()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
hunter_gate_fatal_error(
|
||||
"Can't detect HUNTER_ROOT"
|
||||
ERROR_PAGE "error.detect.hunter.root"
|
||||
)
|
||||
endfunction()
|
||||
|
||||
function(hunter_gate_download dir)
|
||||
string(
|
||||
COMPARE
|
||||
NOTEQUAL
|
||||
"$ENV{HUNTER_DISABLE_AUTOINSTALL}"
|
||||
""
|
||||
disable_autoinstall
|
||||
)
|
||||
if(disable_autoinstall AND NOT HUNTER_RUN_INSTALL)
|
||||
hunter_gate_fatal_error(
|
||||
"Hunter not found in '${dir}'"
|
||||
"Set HUNTER_RUN_INSTALL=ON to auto-install it from '${HUNTER_GATE_URL}'"
|
||||
"Settings:"
|
||||
" HUNTER_ROOT: ${HUNTER_GATE_ROOT}"
|
||||
" HUNTER_SHA1: ${HUNTER_GATE_SHA1}"
|
||||
ERROR_PAGE "error.run.install"
|
||||
)
|
||||
endif()
|
||||
string(COMPARE EQUAL "${dir}" "" is_bad)
|
||||
if(is_bad)
|
||||
hunter_gate_internal_error("Empty 'dir' argument")
|
||||
endif()
|
||||
|
||||
string(COMPARE EQUAL "${HUNTER_GATE_SHA1}" "" is_bad)
|
||||
if(is_bad)
|
||||
hunter_gate_internal_error("HUNTER_GATE_SHA1 empty")
|
||||
endif()
|
||||
|
||||
string(COMPARE EQUAL "${HUNTER_GATE_URL}" "" is_bad)
|
||||
if(is_bad)
|
||||
hunter_gate_internal_error("HUNTER_GATE_URL empty")
|
||||
endif()
|
||||
|
||||
set(done_location "${dir}/DONE")
|
||||
set(sha1_location "${dir}/SHA1")
|
||||
|
||||
set(build_dir "${dir}/Build")
|
||||
set(cmakelists "${dir}/CMakeLists.txt")
|
||||
|
||||
hunter_gate_status_debug("Locking directory: ${dir}")
|
||||
file(LOCK "${dir}" DIRECTORY GUARD FUNCTION)
|
||||
hunter_gate_status_debug("Lock done")
|
||||
|
||||
if(EXISTS "${done_location}")
|
||||
# while waiting for lock other instance can do all the job
|
||||
hunter_gate_status_debug("File '${done_location}' found, skip install")
|
||||
return()
|
||||
endif()
|
||||
|
||||
file(REMOVE_RECURSE "${build_dir}")
|
||||
file(REMOVE_RECURSE "${cmakelists}")
|
||||
|
||||
file(MAKE_DIRECTORY "${build_dir}") # check directory permissions
|
||||
|
||||
# Disabling languages speeds up a little bit, reduces noise in the output
|
||||
# and avoids path too long windows error
|
||||
file(
|
||||
WRITE
|
||||
"${cmakelists}"
|
||||
"cmake_minimum_required(VERSION 3.2)\n"
|
||||
"project(HunterDownload LANGUAGES NONE)\n"
|
||||
"include(ExternalProject)\n"
|
||||
"ExternalProject_Add(\n"
|
||||
" Hunter\n"
|
||||
" URL\n"
|
||||
" \"${HUNTER_GATE_URL}\"\n"
|
||||
" URL_HASH\n"
|
||||
" SHA1=${HUNTER_GATE_SHA1}\n"
|
||||
" DOWNLOAD_DIR\n"
|
||||
" \"${dir}\"\n"
|
||||
" TLS_VERIFY\n"
|
||||
" ${HUNTER_TLS_VERIFY}\n"
|
||||
" SOURCE_DIR\n"
|
||||
" \"${dir}/Unpacked\"\n"
|
||||
" CONFIGURE_COMMAND\n"
|
||||
" \"\"\n"
|
||||
" BUILD_COMMAND\n"
|
||||
" \"\"\n"
|
||||
" INSTALL_COMMAND\n"
|
||||
" \"\"\n"
|
||||
")\n"
|
||||
)
|
||||
|
||||
if(HUNTER_STATUS_DEBUG)
|
||||
set(logging_params "")
|
||||
else()
|
||||
set(logging_params OUTPUT_QUIET)
|
||||
endif()
|
||||
|
||||
hunter_gate_status_debug("Run generate")
|
||||
|
||||
# Need to add toolchain file too.
|
||||
# Otherwise on Visual Studio + MDD this will fail with error:
|
||||
# "Could not find an appropriate version of the Windows 10 SDK installed on this machine"
|
||||
if(EXISTS "${CMAKE_TOOLCHAIN_FILE}")
|
||||
get_filename_component(absolute_CMAKE_TOOLCHAIN_FILE "${CMAKE_TOOLCHAIN_FILE}" ABSOLUTE)
|
||||
set(toolchain_arg "-DCMAKE_TOOLCHAIN_FILE=${absolute_CMAKE_TOOLCHAIN_FILE}")
|
||||
else()
|
||||
# 'toolchain_arg' can't be empty
|
||||
set(toolchain_arg "-DCMAKE_TOOLCHAIN_FILE=")
|
||||
endif()
|
||||
|
||||
string(COMPARE EQUAL "${CMAKE_MAKE_PROGRAM}" "" no_make)
|
||||
if(no_make)
|
||||
set(make_arg "")
|
||||
else()
|
||||
# Test case: remove Ninja from PATH but set it via CMAKE_MAKE_PROGRAM
|
||||
set(make_arg "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}")
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
COMMAND
|
||||
"${CMAKE_COMMAND}"
|
||||
"-H${dir}"
|
||||
"-B${build_dir}"
|
||||
"-G${CMAKE_GENERATOR}"
|
||||
"${toolchain_arg}"
|
||||
${make_arg}
|
||||
WORKING_DIRECTORY "${dir}"
|
||||
RESULT_VARIABLE download_result
|
||||
${logging_params}
|
||||
)
|
||||
|
||||
if(NOT download_result EQUAL 0)
|
||||
hunter_gate_internal_error(
|
||||
"Configure project failed."
|
||||
"To reproduce the error run: ${CMAKE_COMMAND} -H${dir} -B${build_dir} -G${CMAKE_GENERATOR} ${toolchain_arg} ${make_arg}"
|
||||
"In directory ${dir}"
|
||||
)
|
||||
endif()
|
||||
|
||||
hunter_gate_status_print(
|
||||
"Initializing Hunter workspace (${HUNTER_GATE_SHA1})"
|
||||
" ${HUNTER_GATE_URL}"
|
||||
" -> ${dir}"
|
||||
)
|
||||
execute_process(
|
||||
COMMAND "${CMAKE_COMMAND}" --build "${build_dir}"
|
||||
WORKING_DIRECTORY "${dir}"
|
||||
RESULT_VARIABLE download_result
|
||||
${logging_params}
|
||||
)
|
||||
|
||||
if(NOT download_result EQUAL 0)
|
||||
hunter_gate_internal_error("Build project failed")
|
||||
endif()
|
||||
|
||||
file(REMOVE_RECURSE "${build_dir}")
|
||||
file(REMOVE_RECURSE "${cmakelists}")
|
||||
|
||||
file(WRITE "${sha1_location}" "${HUNTER_GATE_SHA1}")
|
||||
file(WRITE "${done_location}" "DONE")
|
||||
|
||||
hunter_gate_status_debug("Finished")
|
||||
endfunction()
|
||||
|
||||
# Must be a macro so master file 'cmake/Hunter' can
|
||||
# apply all variables easily just by 'include' command
|
||||
# (otherwise PARENT_SCOPE magic needed)
|
||||
macro(HunterGate)
|
||||
if(HUNTER_GATE_DONE)
|
||||
# variable HUNTER_GATE_DONE set explicitly for external project
|
||||
# (see `hunter_download`)
|
||||
set_property(GLOBAL PROPERTY HUNTER_GATE_DONE YES)
|
||||
endif()
|
||||
|
||||
# First HunterGate command will init Hunter, others will be ignored
|
||||
get_property(_hunter_gate_done GLOBAL PROPERTY HUNTER_GATE_DONE SET)
|
||||
|
||||
if(NOT HUNTER_ENABLED)
|
||||
# Empty function to avoid error "unknown function"
|
||||
function(hunter_add_package)
|
||||
endfunction()
|
||||
|
||||
set(
|
||||
_hunter_gate_disabled_mode_dir
|
||||
"${CMAKE_CURRENT_LIST_DIR}/cmake/Hunter/disabled-mode"
|
||||
)
|
||||
if(EXISTS "${_hunter_gate_disabled_mode_dir}")
|
||||
hunter_gate_status_debug(
|
||||
"Adding \"disabled-mode\" modules: ${_hunter_gate_disabled_mode_dir}"
|
||||
)
|
||||
list(APPEND CMAKE_PREFIX_PATH "${_hunter_gate_disabled_mode_dir}")
|
||||
endif()
|
||||
elseif(_hunter_gate_done)
|
||||
hunter_gate_status_debug("Secondary HunterGate (use old settings)")
|
||||
hunter_gate_self(
|
||||
"${HUNTER_CACHED_ROOT}"
|
||||
"${HUNTER_VERSION}"
|
||||
"${HUNTER_SHA1}"
|
||||
_hunter_self
|
||||
)
|
||||
include("${_hunter_self}/cmake/Hunter")
|
||||
else()
|
||||
set(HUNTER_GATE_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
|
||||
string(COMPARE NOTEQUAL "${PROJECT_NAME}" "" _have_project_name)
|
||||
if(_have_project_name)
|
||||
hunter_gate_fatal_error(
|
||||
"Please set HunterGate *before* 'project' command. "
|
||||
"Detected project: ${PROJECT_NAME}"
|
||||
ERROR_PAGE "error.huntergate.before.project"
|
||||
)
|
||||
endif()
|
||||
|
||||
cmake_parse_arguments(
|
||||
HUNTER_GATE "LOCAL" "URL;SHA1;GLOBAL;FILEPATH" "" ${ARGV}
|
||||
)
|
||||
|
||||
string(COMPARE EQUAL "${HUNTER_GATE_SHA1}" "" _empty_sha1)
|
||||
string(COMPARE EQUAL "${HUNTER_GATE_URL}" "" _empty_url)
|
||||
string(
|
||||
COMPARE
|
||||
NOTEQUAL
|
||||
"${HUNTER_GATE_UNPARSED_ARGUMENTS}"
|
||||
""
|
||||
_have_unparsed
|
||||
)
|
||||
string(COMPARE NOTEQUAL "${HUNTER_GATE_GLOBAL}" "" _have_global)
|
||||
string(COMPARE NOTEQUAL "${HUNTER_GATE_FILEPATH}" "" _have_filepath)
|
||||
|
||||
if(_have_unparsed)
|
||||
hunter_gate_user_error(
|
||||
"HunterGate unparsed arguments: ${HUNTER_GATE_UNPARSED_ARGUMENTS}"
|
||||
)
|
||||
endif()
|
||||
if(_empty_sha1)
|
||||
hunter_gate_user_error("SHA1 suboption of HunterGate is mandatory")
|
||||
endif()
|
||||
if(_empty_url)
|
||||
hunter_gate_user_error("URL suboption of HunterGate is mandatory")
|
||||
endif()
|
||||
if(_have_global)
|
||||
if(HUNTER_GATE_LOCAL)
|
||||
hunter_gate_user_error("Unexpected LOCAL (already has GLOBAL)")
|
||||
endif()
|
||||
if(_have_filepath)
|
||||
hunter_gate_user_error("Unexpected FILEPATH (already has GLOBAL)")
|
||||
endif()
|
||||
endif()
|
||||
if(HUNTER_GATE_LOCAL)
|
||||
if(_have_global)
|
||||
hunter_gate_user_error("Unexpected GLOBAL (already has LOCAL)")
|
||||
endif()
|
||||
if(_have_filepath)
|
||||
hunter_gate_user_error("Unexpected FILEPATH (already has LOCAL)")
|
||||
endif()
|
||||
endif()
|
||||
if(_have_filepath)
|
||||
if(_have_global)
|
||||
hunter_gate_user_error("Unexpected GLOBAL (already has FILEPATH)")
|
||||
endif()
|
||||
if(HUNTER_GATE_LOCAL)
|
||||
hunter_gate_user_error("Unexpected LOCAL (already has FILEPATH)")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
hunter_gate_detect_root() # set HUNTER_GATE_ROOT
|
||||
|
||||
# Beautify path, fix probable problems with windows path slashes
|
||||
get_filename_component(
|
||||
HUNTER_GATE_ROOT "${HUNTER_GATE_ROOT}" ABSOLUTE
|
||||
)
|
||||
hunter_gate_status_debug("HUNTER_ROOT: ${HUNTER_GATE_ROOT}")
|
||||
if(NOT HUNTER_ALLOW_SPACES_IN_PATH)
|
||||
string(FIND "${HUNTER_GATE_ROOT}" " " _contain_spaces)
|
||||
if(NOT _contain_spaces EQUAL -1)
|
||||
hunter_gate_fatal_error(
|
||||
"HUNTER_ROOT (${HUNTER_GATE_ROOT}) contains spaces."
|
||||
"Set HUNTER_ALLOW_SPACES_IN_PATH=ON to skip this error"
|
||||
"(Use at your own risk!)"
|
||||
ERROR_PAGE "error.spaces.in.hunter.root"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
string(
|
||||
REGEX
|
||||
MATCH
|
||||
"[0-9]+\\.[0-9]+\\.[0-9]+[-_a-z0-9]*"
|
||||
HUNTER_GATE_VERSION
|
||||
"${HUNTER_GATE_URL}"
|
||||
)
|
||||
string(COMPARE EQUAL "${HUNTER_GATE_VERSION}" "" _is_empty)
|
||||
if(_is_empty)
|
||||
set(HUNTER_GATE_VERSION "unknown")
|
||||
endif()
|
||||
|
||||
hunter_gate_self(
|
||||
"${HUNTER_GATE_ROOT}"
|
||||
"${HUNTER_GATE_VERSION}"
|
||||
"${HUNTER_GATE_SHA1}"
|
||||
_hunter_self
|
||||
)
|
||||
|
||||
set(_master_location "${_hunter_self}/cmake/Hunter")
|
||||
if(EXISTS "${HUNTER_GATE_ROOT}/cmake/Hunter")
|
||||
# Hunter downloaded manually (e.g. by 'git clone')
|
||||
set(_unused "xxxxxxxxxx")
|
||||
set(HUNTER_GATE_SHA1 "${_unused}")
|
||||
set(HUNTER_GATE_VERSION "${_unused}")
|
||||
else()
|
||||
get_filename_component(_archive_id_location "${_hunter_self}/.." ABSOLUTE)
|
||||
set(_done_location "${_archive_id_location}/DONE")
|
||||
set(_sha1_location "${_archive_id_location}/SHA1")
|
||||
|
||||
# Check Hunter already downloaded by HunterGate
|
||||
if(NOT EXISTS "${_done_location}")
|
||||
hunter_gate_download("${_archive_id_location}")
|
||||
endif()
|
||||
|
||||
if(NOT EXISTS "${_done_location}")
|
||||
hunter_gate_internal_error("hunter_gate_download failed")
|
||||
endif()
|
||||
|
||||
if(NOT EXISTS "${_sha1_location}")
|
||||
hunter_gate_internal_error("${_sha1_location} not found")
|
||||
endif()
|
||||
file(READ "${_sha1_location}" _sha1_value)
|
||||
string(TOLOWER "${_sha1_value}" _sha1_value_lower)
|
||||
string(TOLOWER "${HUNTER_GATE_SHA1}" _HUNTER_GATE_SHA1_lower)
|
||||
string(COMPARE EQUAL "${_sha1_value_lower}" "${_HUNTER_GATE_SHA1_lower}" _is_equal)
|
||||
if(NOT _is_equal)
|
||||
hunter_gate_internal_error(
|
||||
"Short SHA1 collision:"
|
||||
" ${_sha1_value} (from ${_sha1_location})"
|
||||
" ${HUNTER_GATE_SHA1} (HunterGate)"
|
||||
)
|
||||
endif()
|
||||
if(NOT EXISTS "${_master_location}")
|
||||
hunter_gate_user_error(
|
||||
"Master file not found:"
|
||||
" ${_master_location}"
|
||||
"try to update Hunter/HunterGate"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
include("${_master_location}")
|
||||
set_property(GLOBAL PROPERTY HUNTER_GATE_DONE YES)
|
||||
endif()
|
||||
endmacro()
|
@ -0,0 +1,2 @@
|
||||
F:\tools\xsltproc\xsltproc.exe -o R:\code\ryzom\server\src\entities_game_service\database_plr.h --stringparam output header --stringparam filename DATABASE --stringparam side server --stringparam bank PLR R:\code\ryzom\common\src\game_share\generate_client_db.xslt R:\code\ryzom\common\data_common\database.xml
|
||||
F:\tools\xsltproc\xsltproc.exe -o R:\code\ryzom\server\src\entities_game_service\database_plr.cpp --stringparam output cpp --stringparam filename database_plr --stringparam side server --stringparam bank PLR R:\code\ryzom\common\src\game_share\generate_client_db.xslt R:\code\ryzom\common\data_common\database.xml
|
@ -1,83 +0,0 @@
|
||||
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2010-2019 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef CL_CSS_BACKGROUND_H
|
||||
#define CL_CSS_BACKGROUND_H
|
||||
|
||||
#include "nel/misc/types_nl.h"
|
||||
#include "nel/misc/rgba.h"
|
||||
#include "nel/gui/css_types.h"
|
||||
#include "nel/gui/css_length.h"
|
||||
|
||||
namespace NLGUI
|
||||
{
|
||||
/**
|
||||
* \brief CSS background info
|
||||
* \date 2021-07-02 11:36 GMT
|
||||
* \author Meelis Mägi (Nimetu)
|
||||
*/
|
||||
class CSSBackground
|
||||
{
|
||||
public:
|
||||
CSSBackground()
|
||||
:color(NLMISC::CRGBA::Transparent),
|
||||
repeatX(CSS_VALUE_REPEAT), repeatY(CSS_VALUE_REPEAT), attachment(CSS_VALUE_SCROLL),
|
||||
xAnchor(CSS_VALUE_LEFT), yAnchor(CSS_VALUE_TOP),
|
||||
clip(CSS_VALUE_BORDER_BOX), origin(CSS_VALUE_PADDING_BOX), size(CSS_VALUE_AUTO)
|
||||
{}
|
||||
|
||||
void setImage(const std::string &value);
|
||||
void setPosition(const std::string &value);
|
||||
void setSize(const std::string &value);
|
||||
void setRepeat(const std::string &value);
|
||||
void setOrigin(const std::string &value);
|
||||
void setClip(const std::string &value);
|
||||
void setAttachment(const std::string &value);
|
||||
void setColor(const std::string &value);
|
||||
|
||||
public:
|
||||
// TODO: only final layer has color
|
||||
NLMISC::CRGBA color;
|
||||
std::string image;
|
||||
|
||||
CSSValueType repeatX;
|
||||
CSSValueType repeatY;
|
||||
CSSValueType attachment;
|
||||
|
||||
CSSValueType xAnchor;
|
||||
CSSValueType yAnchor;
|
||||
CSSLength xPosition;
|
||||
CSSLength yPosition;
|
||||
|
||||
CSSValueType clip;
|
||||
CSSValueType origin;
|
||||
|
||||
CSSValueType size;
|
||||
CSSLength width;
|
||||
CSSLength height;
|
||||
|
||||
private:
|
||||
void positionFromOne(const std::vector<std::string> &parts);
|
||||
void positionFromTwo(const std::vector<std::string> &parts);
|
||||
void positionFromThree(const std::vector<std::string> &parts);
|
||||
void positionFromFour(const std::vector<std::string> &parts);
|
||||
};
|
||||
|
||||
}//namespace
|
||||
|
||||
#endif // CL_CSS_BACKGROUND_H
|
||||
|
||||
|
@ -1,193 +0,0 @@
|
||||
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2010-2019 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
#ifndef NL_CSS_BACKGROUND_RENDERER_H
|
||||
#define NL_CSS_BACKGROUND_RENDERER_H
|
||||
|
||||
#include "nel/misc/types_nl.h"
|
||||
#include "nel/misc/rgba.h"
|
||||
#include "nel/misc/geom_ext.h"
|
||||
#include "nel/gui/css_types.h"
|
||||
#include "nel/gui/css_background.h"
|
||||
|
||||
namespace NLGUI
|
||||
{
|
||||
class CInterfaceElement;
|
||||
|
||||
/**
|
||||
* \brief Border renderer for GUI classes
|
||||
* \date 2021-06-29 15:17 GMT
|
||||
* \author Meelis Mägi (Nimetu)
|
||||
*/
|
||||
class CSSBackgroundRenderer
|
||||
{
|
||||
public:
|
||||
// alpha value from parent
|
||||
uint8 CurrentAlpha;
|
||||
|
||||
// TODO: should be moved to CSSBackground
|
||||
sint32 TextureId;
|
||||
|
||||
public:
|
||||
CSSBackgroundRenderer();
|
||||
~CSSBackgroundRenderer();
|
||||
|
||||
// return true if no background is set
|
||||
bool isEmpty() const
|
||||
{
|
||||
return m_Background.image.empty() && m_Background.color.A == 0;
|
||||
}
|
||||
|
||||
void setModulateGlobalColor(bool m) { m_ModulateGlobalColor = m; }
|
||||
|
||||
void updateCoords();
|
||||
void invalidateCoords() { m_Dirty = true; }
|
||||
void invalidateContent() { m_Dirty = true; };
|
||||
|
||||
void clear();
|
||||
void setBackground(const CSSBackground &bg);
|
||||
|
||||
// helper function to change background image
|
||||
void setImage(const std::string &bgtex);
|
||||
void setImageRepeat(bool b);
|
||||
void setImageCover(bool b);
|
||||
|
||||
// helper function to change background color
|
||||
void setColor(const NLMISC::CRGBA &color)
|
||||
{
|
||||
m_Dirty = true;
|
||||
m_Background.color = color;
|
||||
}
|
||||
|
||||
NLMISC::CRGBA getColor() const
|
||||
{
|
||||
return m_Background.color;
|
||||
}
|
||||
|
||||
// override painting area to be at least the size of viewport (ie, <html> background)
|
||||
void setFillViewport(bool b) {
|
||||
m_Dirty = true;
|
||||
m_FillViewport = b;
|
||||
}
|
||||
|
||||
void setViewport(CInterfaceElement *root)
|
||||
{
|
||||
m_Dirty = true;
|
||||
m_Viewport = root;
|
||||
}
|
||||
|
||||
void setBorderArea(sint32 x, sint32 y, sint32 w, sint32 h)
|
||||
{
|
||||
m_Dirty = true;
|
||||
m_BorderX = x;
|
||||
m_BorderY = y;
|
||||
m_BorderW = w;
|
||||
m_BorderH = h;
|
||||
}
|
||||
|
||||
void setPaddingArea(sint32 x, sint32 y, sint32 w, sint32 h)
|
||||
{
|
||||
m_Dirty = true;
|
||||
m_PaddingX = x;
|
||||
m_PaddingY = y;
|
||||
m_PaddingW = w;
|
||||
m_PaddingH = h;
|
||||
}
|
||||
|
||||
void setContentArea(sint32 x, sint32 y, sint32 w, sint32 h)
|
||||
{
|
||||
m_Dirty = true;
|
||||
m_ContentX = x;
|
||||
m_ContentY = y;
|
||||
m_ContentW = w;
|
||||
m_ContentH = h;
|
||||
}
|
||||
|
||||
// sizes for em, rem units
|
||||
void setFontSize(float rootFontSize, float fontSize)
|
||||
{
|
||||
m_Dirty = true;
|
||||
m_RootFontSize = rootFontSize;
|
||||
m_FontSize = fontSize;
|
||||
}
|
||||
|
||||
void draw();
|
||||
|
||||
private:
|
||||
sint32 m_BorderX, m_BorderY, m_BorderW, m_BorderH;
|
||||
sint32 m_PaddingX, m_PaddingY, m_PaddingW, m_PaddingH;
|
||||
sint32 m_ContentX, m_ContentY, m_ContentW, m_ContentH;
|
||||
|
||||
// font size for 'rem'
|
||||
float m_RootFontSize;
|
||||
|
||||
// font size for 'em'
|
||||
float m_FontSize;
|
||||
|
||||
// viewport element for vw,wh,vmin,vmax
|
||||
CInterfaceElement* m_Viewport;
|
||||
|
||||
struct SDrawQueue
|
||||
{
|
||||
sint32 TextureId;
|
||||
NLMISC::CQuadUV Quad;
|
||||
NLMISC::CRGBA Color;
|
||||
};
|
||||
std::vector<SDrawQueue> m_DrawQueue;
|
||||
|
||||
const sint8 m_RenderLayer;
|
||||
bool m_ModulateGlobalColor;
|
||||
// if true, painting area returns area at least the size of viewport (ie, <html> background)
|
||||
bool m_FillViewport;
|
||||
|
||||
// if true, then updateCoords() is called from draw()
|
||||
bool m_Dirty;
|
||||
|
||||
CSSBackground m_Background;
|
||||
|
||||
// get clip area based on background-clip
|
||||
void getPaintingArea(const CSSBackground &bg, sint32 &areaX, sint32 &areaY, sint32 &areaW, sint32 &areaH) const;
|
||||
|
||||
// get positioning area based on background-origin
|
||||
void getPositioningArea(const CSSBackground &bg, sint32 &areaX, sint32 &areaY, sint32 &areaW, sint32 &areaH) const;
|
||||
|
||||
// calculate image size based on background-size
|
||||
void calculateSize(const CSSBackground &bg, sint32 &texW, sint32 &texH) const;
|
||||
|
||||
// calculate image position based on background-position
|
||||
void calculatePosition(const CSSBackground &bg, sint32 &texX, sint32 &texY, sint32 &texW, sint32 &texH) const;
|
||||
|
||||
// calculate image tile position, size, count, and spacing based on background-repeat
|
||||
void calculateTiles(const CSSBackground &bg, sint32 &texX, sint32 &texY, sint32 &texW, sint32 &texH, sint32 &tilesX, sint32 &tilesY, sint32 &spacingX, sint32 &spacingY) const;
|
||||
|
||||
// position, size, and count for first tile to cover an area
|
||||
void getImageTile(sint32 &tilePos, sint32 &tileSize, sint32 &spacing, sint32 &tiles, sint32 areaPos, sint32 areaSize, CSSValueType repeat) const;
|
||||
|
||||
// push background color to draw queue
|
||||
void buildColorQuads(const CSSBackground &bg);
|
||||
|
||||
// push background image to draw quque
|
||||
void buildImageQuads(const CSSBackground &bg, sint32 textureId);
|
||||
|
||||
}; // CSSBackgroundRenderer
|
||||
|
||||
}//namespace
|
||||
|
||||
#endif // NL_CSS_BACKGROUND_RENDERER_H
|
||||
|
||||
|
@ -1,72 +0,0 @@
|
||||
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2010-2019 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef CL_CSS_BORDER_H
|
||||
#define CL_CSS_BORDER_H
|
||||
|
||||
#include "nel/misc/types_nl.h"
|
||||
#include "nel/misc/rgba.h"
|
||||
#include "nel/gui/css_types.h"
|
||||
#include "nel/gui/css_length.h"
|
||||
|
||||
namespace NLGUI
|
||||
{
|
||||
/**
|
||||
* \brief CSS border info
|
||||
* \date 2021-07-23 09:51 GMT
|
||||
* \author Meelis Mägi (Nimetu)
|
||||
*/
|
||||
class CSSBorder
|
||||
{
|
||||
public:
|
||||
CSSBorder()
|
||||
{
|
||||
reset();
|
||||
}
|
||||
|
||||
CSSBorder(uint width, CSSLineStyle style, NLMISC::CRGBA color)
|
||||
{
|
||||
set(width, style, color);
|
||||
}
|
||||
|
||||
void reset()
|
||||
{
|
||||
set(CSS_LINE_WIDTH_MEDIUM, CSS_LINE_STYLE_NONE, NLMISC::CRGBA::Transparent);
|
||||
}
|
||||
|
||||
void set(uint width, CSSLineStyle style, NLMISC::CRGBA color)
|
||||
{
|
||||
Width.setFloatValue(width, "px");
|
||||
Style = style;
|
||||
Color = color;
|
||||
}
|
||||
|
||||
bool empty() const
|
||||
{
|
||||
return Style == CSS_LINE_STYLE_NONE || Style == CSS_LINE_STYLE_HIDDEN
|
||||
|| Width.getFloat() == 0;
|
||||
}
|
||||
|
||||
CSSLength Width;
|
||||
CSSLineStyle Style;
|
||||
NLMISC::CRGBA Color;
|
||||
};
|
||||
|
||||
}//namespace
|
||||
|
||||
#endif // CL_CSS_BORDER_H
|
||||
|
||||
|
@ -1,76 +0,0 @@
|
||||
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2010-2021 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef CL_CSS_LENGTH_H
|
||||
#define CL_CSS_LENGTH_H
|
||||
|
||||
#include "nel/misc/types_nl.h"
|
||||
#include "nel/gui/css_types.h"
|
||||
|
||||
namespace NLGUI
|
||||
{
|
||||
/**
|
||||
* \brief CSS types used in GUI classes
|
||||
* \date 2021-07-02 11:36 GMT
|
||||
* \author Meelis Mägi (Nimetu)
|
||||
*/
|
||||
|
||||
class CSSLength
|
||||
{
|
||||
public:
|
||||
enum Kind {
|
||||
Auto, Relative, Fixed
|
||||
};
|
||||
|
||||
CSSLength(float value = 0, CSSUnitType unit = CSS_UNIT_NONE, Kind kind = Auto)
|
||||
: m_Value(value), m_Unit(unit), m_Kind(Auto)
|
||||
{}
|
||||
|
||||
void setAuto() { m_Kind = Auto; }
|
||||
bool parseValue(const std::string &value, bool allowPercent = true, bool allowNegative = false);
|
||||
void setFloatValue(float f, const std::string &unit);
|
||||
|
||||
float getValue() const;
|
||||
float getFloat() const { return m_Value; }
|
||||
|
||||
bool isPercent() const { return m_Unit == CSS_UNIT_PERCENT; }
|
||||
|
||||
bool isAuto() const { return m_Kind == Auto; }
|
||||
bool isRelative() const { return m_Kind == Relative; }
|
||||
|
||||
// % uses relValue
|
||||
// em uses emSize
|
||||
// rem uses remSize
|
||||
// vw,vh,vi,vb,vmin,vmax uses vwSize/vhSize
|
||||
float calculate(uint32 relValue, uint32 emSize, uint32 remSize, uint32 vwSize, uint32 whSize) const;
|
||||
|
||||
CSSUnitType getUnit() const { return m_Unit; }
|
||||
|
||||
std::string toString() const;
|
||||
|
||||
private:
|
||||
void setUnit(const std::string &unit);
|
||||
|
||||
float m_Value;
|
||||
CSSUnitType m_Unit;
|
||||
Kind m_Kind;
|
||||
};
|
||||
|
||||
}//namespace
|
||||
|
||||
#endif // CL_CSS_LENGTH_H
|
||||
|
||||
|
@ -1,75 +0,0 @@
|
||||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010-2021 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
#ifndef XML_MACROS_H
|
||||
#define XML_MACROS_H
|
||||
|
||||
//
|
||||
// xmlNodePtr cur;
|
||||
// CXMLAutoPtr prop;
|
||||
//
|
||||
// sint i;
|
||||
// XML_READ_SINT(cur, "prop_name", i, -1);
|
||||
//
|
||||
|
||||
#define XML_READ_UINT(node, name, var, def) { \
|
||||
uint tmp; \
|
||||
prop = (char *) xmlGetProp(node, (xmlChar*)name); \
|
||||
if (prop && fromString((const char*)prop, tmp)) \
|
||||
var = tmp; \
|
||||
else \
|
||||
var = def; \
|
||||
}
|
||||
|
||||
#define XML_READ_SINT(node, name, var, def) { \
|
||||
sint tmp; \
|
||||
prop = (char *) xmlGetProp(node, (xmlChar*)name); \
|
||||
if (prop && fromString((const char*)prop, tmp)) \
|
||||
var = tmp; \
|
||||
else \
|
||||
var = def; \
|
||||
}
|
||||
|
||||
#define XML_READ_BOOL(node, name, var, def) { \
|
||||
prop = (char *) xmlGetProp(node, (xmlChar*)name); \
|
||||
if (prop) \
|
||||
var = NLMISC::toBool((const char*)prop); \
|
||||
else \
|
||||
var = def; \
|
||||
}
|
||||
|
||||
#define XML_READ_COLOR(node, name, var, def) { \
|
||||
NLMISC::CRGBA tmp; \
|
||||
prop = (char *) xmlGetProp(node, (xmlChar*)name); \
|
||||
if (prop && fromString((const char*)prop, tmp)) \
|
||||
var = tmp; \
|
||||
else \
|
||||
var = def; \
|
||||
}
|
||||
|
||||
#define XML_READ_STRING(node, name, var, def) { \
|
||||
prop = (char *) xmlGetProp(node, (xmlChar*)name); \
|
||||
if (prop) \
|
||||
var = (const char*)prop; \
|
||||
else \
|
||||
var = def; \
|
||||
}
|
||||
|
||||
#endif // XML_MACROS_H
|
||||
|
||||
|
@ -1,14 +0,0 @@
|
||||
FILE(GLOB SRC *.cpp)
|
||||
|
||||
ADD_EXECUTABLE(nl_sample_font_perf ${SRC})
|
||||
|
||||
ADD_DEFINITIONS(-DFONT_DIR="\\"${NL_SHARE_ABSOLUTE_PREFIX}/nl_sample_font_perf/\\"")
|
||||
|
||||
TARGET_LINK_LIBRARIES(nl_sample_font_perf nelmisc nel3d)
|
||||
NL_DEFAULT_PROPS(nl_sample_font_perf "NeL, Samples, 3D: Font Performance Test")
|
||||
NL_ADD_RUNTIME_FLAGS(nl_sample_font_perf)
|
||||
|
||||
INSTALL(TARGETS nl_sample_font_perf RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT samples3d)
|
||||
INSTALL(FILES beteckna.ttf DESTINATION ${NL_SHARE_PREFIX}/nl_sample_font_perf COMPONENT samples3d)
|
||||
|
||||
|
Binary file not shown.
@ -1,99 +0,0 @@
|
||||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2020-2021 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "nel/misc/types_nl.h"
|
||||
|
||||
#include "nel/misc/event_emitter.h"
|
||||
#include "nel/misc/event_listener.h"
|
||||
#include "nel/misc/path.h"
|
||||
#include "nel/misc/random.h"
|
||||
|
||||
// look at 3dinit example
|
||||
#include "nel/3d/nelu.h"
|
||||
|
||||
// used for font management
|
||||
#include "nel/3d/font_manager.h"
|
||||
#include "nel/3d/computed_string.h"
|
||||
#include "nel/3d/text_context.h"
|
||||
#include "nel/3d/driver_user.h"
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
#ifndef NL_COMP_MINGW
|
||||
#define NOMINMAX
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#endif // NL_OS_WINDOWS
|
||||
|
||||
#ifndef FONT_DIR
|
||||
# define FONT_DIR "."
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
using namespace NL3D;
|
||||
using namespace NLMISC;
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
// look at 3dinit example
|
||||
CNELU::init (800, 600, CViewport(), 32, true, 0, false, false);
|
||||
|
||||
NLMISC::CPath::addSearchPath(FONT_DIR);
|
||||
|
||||
// create a font manager
|
||||
CFontManager fontManager;
|
||||
|
||||
// set the font cache to 2 megabytes (default is 1mb)
|
||||
fontManager.setMaxMemory(2000000);
|
||||
|
||||
CTextContext tc;
|
||||
|
||||
tc.init (CNELU::Driver, &fontManager);
|
||||
|
||||
// The first param is the font name (could be ttf, pfb, fon, etc...). The
|
||||
// second one is optional, it's the font kerning file
|
||||
tc.setFontGenerator (NLMISC::CPath::lookup("beteckna.ttf"));
|
||||
|
||||
NLMISC::CRandom rnd;
|
||||
|
||||
uint nbCount = 100000;
|
||||
TTicks startTick = CTime::getPerformanceTime();
|
||||
std::string txt;
|
||||
for(uint i = 0; i < nbCount; ++i)
|
||||
{
|
||||
uint fontSize = rnd.rand(200);
|
||||
bool embolden = rnd.rand(1) == 1;
|
||||
bool oblique = rnd.rand(1) == 1;
|
||||
txt = toString("Lorem ipsum %03d", fontSize);
|
||||
|
||||
CComputedString cs;
|
||||
fontManager.computeString(txt, tc.getFontGenerator(), CRGBA::White, fontSize, embolden, oblique, CNELU::Driver, cs);
|
||||
}
|
||||
|
||||
TTicks endTick = CTime::getPerformanceTime();
|
||||
|
||||
double deltaTime = CTime::ticksToSecond(endTick-startTick);
|
||||
std::string msg = toString("Generated %d strings in %.2fs\n", nbCount, deltaTime);
|
||||
|
||||
nlinfo("%s", msg.c_str());
|
||||
printf("%s", msg.c_str());
|
||||
|
||||
fontManager.dumpCache ("font_pref_cache_dump.tga");
|
||||
|
||||
// look at 3dinit example
|
||||
CNELU::release();
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue