Compare commits
853 Commits
feature/hu
...
main/gingo
Author | SHA1 | Date |
---|---|---|
Nuno Gonçalves (Ulukyn) | 7df9b2f255 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 8697553956 | 3 years ago |
nimetu | d2508c8b15 | 3 years ago |
Nuno Gonçalves (Ulukyn) | d385dedabc | 3 years ago |
Nuno Gonçalves (Ulukyn) | ae33eb99bf | 3 years ago |
Nuno Gonçalves (Ulukyn) | 2b88fd66ba | 3 years ago |
Ben Saine | be5bfd992c | 3 years ago |
Nuno Gonçalves (Ulukyn) | 9a24e7557f | 3 years ago |
Nuno Gonçalves (Ulukyn) | 8708fd74c6 | 3 years ago |
Nuno | db86219eab | 3 years ago |
Nuno Gonçalves (Ulukyn) | c6ec8a8d7d | 3 years ago |
Ben Saine | 357934fcde | 3 years ago |
Nuno Gonçalves (Ulukyn) | e784c3aab1 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 22b4c074e8 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 255257a7f5 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 855410f3d0 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 71a2c6f6e8 | 3 years ago |
Ben Saine | 3b2553e3dd | 3 years ago |
Nuno Gonçalves (Ulukyn) | 54c7e09a10 | 3 years ago |
Meelis Mägi | aebab35cad | 3 years ago |
Nuno Gonçalves (Ulukyn) | 7cb6d4287e | 3 years ago |
Meelis Mägi | 663de25cbe | 3 years ago |
Nuno | a7811f553e | 3 years ago |
Nuno | 743bf7f601 | 3 years ago |
Nuno Gonçalves (Ulukyn) | e891dddd1e | 3 years ago |
Meelis Mägi | e185ddc19f | 3 years ago |
Nuno Gonçalves (Ulukyn) | b12c7ac25c | 3 years ago |
Meelis Mägi | 9cff221a1e | 3 years ago |
Nuno Gonçalves (Ulukyn) | 219bf0e066 | 3 years ago |
Meelis Mägi | c012e7ffcf | 3 years ago |
Ben Saine | 82b724fe88 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 9f2d2e7dda | 3 years ago |
Ben Saine | 5df8ec43a0 | 3 years ago |
Nimetu | 7c82f26bac | 3 years ago |
Nimetu | 3521d2d02e | 3 years ago |
Nuno | 88280ef02f | 3 years ago |
Nimetu | 7344c98e6e | 3 years ago |
Nimetu | 005e714f7d | 3 years ago |
Nimetu | 37abc25dcb | 3 years ago |
kaetemi | ec41ba753f | 3 years ago |
kaetemi | 63b4ea547a | 3 years ago |
Nimetu | c31747a939 | 3 years ago |
Nimetu | 8aa1aed3bd | 3 years ago |
Nimetu | 19c5b582bc | 3 years ago |
Nuno | 993d749dba | 3 years ago |
Nimetu | f6ac9bc4c1 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 9e3064871a | 3 years ago |
Nimetu | 36e83e32f4 | 3 years ago |
Nuno | 0df3879358 | 3 years ago |
Nuno | b7e5ac18e9 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 80623a20cc | 3 years ago |
Nuno Gonçalves (Ulukyn) | efbceec12e | 3 years ago |
Nimetu | 013aad73d2 | 3 years ago |
Nuno | de638dfe6c | 3 years ago |
Nuno | 177e2395a5 | 3 years ago |
Nuno | 0e2ec103ab | 3 years ago |
Nuno | 574efe0c36 | 3 years ago |
Nuno | e43515e88a | 3 years ago |
Nuno | 41794a1122 | 3 years ago |
Nimetu | c47db9bf94 | 3 years ago |
Nimetu | b325126b20 | 3 years ago |
Nuno | 35a7a6628b | 3 years ago |
Nimetu | aa34e88101 | 3 years ago |
Nuno | b667ccb6b6 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 568d8ab895 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 7f01b21d11 | 3 years ago |
Nuno Gonçalves (Ulukyn) | d436d5616a | 3 years ago |
Nuno Gonçalves (Ulukyn) | 973e183f2e | 3 years ago |
Nuno | 5c56c87d09 | 3 years ago |
Nuno | c616010246 | 3 years ago |
Nuno | 700a9aadb7 | 3 years ago |
Nuno Gonçalves (Ulukyn) | a246f3e5d0 | 3 years ago |
Meelis Mägi | bbc291b9d3 | 3 years ago |
Nuno Gonçalves (Ulukyn) | a64981a92a | 3 years ago |
Nuno Gonçalves (Ulukyn) | 17c9dd061a | 3 years ago |
Ben Saine | b72a71e87c | 3 years ago |
bensaine | b4ce38099f | 3 years ago |
Nimetu | 9eaf7d3550 | 3 years ago |
Nimetu | 26827d2c66 | 3 years ago |
Nuno Gonçalves (Ulukyn) | b6781af51e | 3 years ago |
Nuno Gonçalves (Ulukyn) | e1b611f219 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 8d7932a271 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 0cc7a35dad | 3 years ago |
Nuno | 2304445c39 | 3 years ago |
Ulu Kyn | 701d7309e5 | 3 years ago |
Ulu Kyn | f3d0c9dc5b | 3 years ago |
Ulu Kyn | a71f022c1a | 3 years ago |
Nuno | cc3d42737e | 3 years ago |
Nuno | 1e590f1a69 | 3 years ago |
Nuno | f450b57be0 | 3 years ago |
Nuno | fbb343ad51 | 3 years ago |
bensaine | e1527b724b | 3 years ago |
bensaine | c3a633ae50 | 3 years ago |
Nuno | a76e8e1a64 | 3 years ago |
Nuno | 2df441225c | 3 years ago |
Nuno | 56cbc51005 | 3 years ago |
Nuno | 7ce53abffe | 3 years ago |
Nuno | 4c4028822e | 3 years ago |
Nuno | b4323b6515 | 3 years ago |
Nuno | 9923062417 | 3 years ago |
Nuno | 8f74ba7851 | 3 years ago |
Nuno | d6f367b2ba | 3 years ago |
Nuno | 3f5c3c5d98 | 3 years ago |
Nuno | 514f4613a8 | 3 years ago |
Ben Saine | 24b0c99034 | 3 years ago |
Nuno | 3dc2aa1bb6 | 3 years ago |
Nuno | 543be4bc4c | 3 years ago |
Nuno | 80007bc602 | 3 years ago |
Nuno | cf9855a6d5 | 3 years ago |
Nuno | bec18c661d | 3 years ago |
Nimetu | 13eef096b4 | 3 years ago |
Nimetu | 759ece01d0 | 3 years ago |
Nuno | 4a06fe15dd | 3 years ago |
Nuno | 575d5d9957 | 3 years ago |
Nuno | 0d68ca05e2 | 3 years ago |
Nuno | 6091e76516 | 3 years ago |
Nuno | 0fbbf10361 | 3 years ago |
Nuno | 557f5d3d6c | 3 years ago |
Nuno | d7d1bc60c2 | 3 years ago |
Nuno | 3709ea4520 | 3 years ago |
Nuno | 70286d36a9 | 3 years ago |
Ulu Kyn | 92ff9f12b0 | 3 years ago |
Nimetu | 8cbb306db8 | 3 years ago |
Nuno | 36c2ff5b86 | 3 years ago |
Nuno | 1a49c4cd0b | 3 years ago |
Ben Saine | 111d4a7a0a | 3 years ago |
bensaine | 6cfc9585f5 | 3 years ago |
Nimetu | f76ad7a3eb | 3 years ago |
Nuno Gonçalves (Ulukyn) | 5d91c33ddd | 3 years ago |
Nimetu | 78478e32cd | 3 years ago |
Nimetu | d388ff78ec | 3 years ago |
Nuno Gonçalves (Ulukyn) | 8ef89b80b0 | 3 years ago |
Nuno Gonçalves (Ulukyn) | bdea7d24d2 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 90161cd121 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 583a16d126 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 01a2508567 | 3 years ago |
Nuno Gonçalves (Ulukyn) | b86b9283b2 | 3 years ago |
Nimetu | 0225beefa6 | 3 years ago |
Nimetu | d9dd9863b7 | 3 years ago |
Ulukyn | 7bed39665e | 3 years ago |
Nuno | 6a1ea5ff59 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 72ccfc9a02 | 3 years ago |
Ulukyn | 0e2a14c822 | 3 years ago |
Nimetu | a4248d5fa1 | 3 years ago |
Nimetu | 984b2b3590 | 3 years ago |
Nuno | 4331e35227 | 3 years ago |
Nuno Gonçalves (Ulukyn) | ce5817721a | 3 years ago |
Nuno Gonçalves (Ulukyn) | aae899b65a | 3 years ago |
Nuno Gonçalves (Ulukyn) | 4c66865de7 | 3 years ago |
Nimetu | c00a9be398 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 458861951b | 3 years ago |
Nuno Gonçalves (Ulukyn) | 3f991d3781 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 8d5c0facf8 | 3 years ago |
Nuno Gonçalves (Ulukyn) | 178a22d961 | 3 years ago |
Nuno Gonçalves (Ulukyn) | f9dafe720c | 3 years ago |
Nuno Gonçalves (Ulukyn) | 72691a3379 | 3 years ago |
Nuno Gonçalves (Ulukyn) | bc991c8146 | 3 years ago |
Riasan | 62a821bc1d | 3 years ago |
Riasan | 103179ece7 | 3 years ago |
Nimetu | 19d0162332 | 3 years ago |
Nimetu | 5bf139f690 | 3 years ago |
Nimetu | d0d38238a8 | 3 years ago |
Nuno | 64bff20e03 | 3 years ago |
Nuno | 1eb651a946 | 3 years ago |
Nuno | 7da7d8cbbe | 3 years ago |
Nuno | 0ee26a6488 | 3 years ago |
Nuno | 9e404a5965 | 3 years ago |
Nuno | 97099768dc | 3 years ago |
kaetemi | 7d1661df42 | 3 years ago |
Nuno | a443848924 | 3 years ago |
Nuno | ca0dc24aa0 | 3 years ago |
Nuno | 6d68e96dd4 | 3 years ago |
kaetemi | 6d4b58c281 | 4 years ago |
kaetemi | fcf97d93df | 4 years ago |
kaetemi | c5658cfe26 | 4 years ago |
Nimetu | bc0071ac57 | 4 years ago |
kaetemi | 37a729b5cc | 4 years ago |
Nuno Gonçalves (Ulukyn) | efc1883cca | 4 years ago |
Nuno | 83a021e1e6 | 4 years ago |
Nuno | 431b1ea339 | 4 years ago |
Nuno | 6c3d6403b0 | 4 years ago |
Nuno | 405974c9c0 | 4 years ago |
Nuno | cc5bd3ddae | 4 years ago |
Nuno | 5613eb855e | 4 years ago |
Nimetu | 5614028f63 | 4 years ago |
Nimetu | a28bda89e6 | 4 years ago |
Nimetu | b2d6c313db | 4 years ago |
Nuno | 74c643f147 | 4 years ago |
Nuno | 3d43c3c626 | 4 years ago |
Nimetu | 78fa873003 | 4 years ago |
Nuno | 6bd853f7bf | 4 years ago |
Nuno | 49b4295765 | 4 years ago |
Nimetu | 3362afaa4d | 4 years ago |
Nuno | c5b34c927e | 4 years ago |
Nuno | fa3eab3305 | 4 years ago |
Nuno | 7d1534fb31 | 4 years ago |
Nuno | 791eb639df | 4 years ago |
Nuno | 772990d421 | 4 years ago |
Nuno | c8fd716f8a | 4 years ago |
Nuno | 72f7cbe4fa | 4 years ago |
Nuno | 9d2fc8c630 | 4 years ago |
Nuno | b4e54d5ad4 | 4 years ago |
Nuno | 904daebd88 | 4 years ago |
Nuno | 9c996b5fe3 | 4 years ago |
Nuno | 7964a42927 | 4 years ago |
Nuno | 24cb13d744 | 4 years ago |
Nuno | c8f4a85f0c | 4 years ago |
Nuno | 7bd936ea24 | 4 years ago |
Nuno | 4bcea9a70e | 4 years ago |
Nuno | 762e3b603e | 4 years ago |
Nuno | 292e142319 | 4 years ago |
Nuno | cdb1786018 | 4 years ago |
Nimetu | 1299484163 | 4 years ago |
Nimetu | 668e15e394 | 4 years ago |
Sit Melai | cdf1bacee1 | 4 years ago |
Nuno | 1ec4f88471 | 4 years ago |
Sit Melai | 673ce18e72 | 4 years ago |
Nuno | 54fd022501 | 4 years ago |
Nuno | 5fe26ec6d6 | 4 years ago |
Nuno | 40a9e782c3 | 4 years ago |
Nuno | 155e268ece | 4 years ago |
Nuno | 649527039b | 4 years ago |
Nuno | d350b1621d | 4 years ago |
Nuno | 22bab29654 | 4 years ago |
Nuno | 5632fffa44 | 4 years ago |
Nuno | 1cc000cc6c | 4 years ago |
Nuno | e9b7345ba5 | 4 years ago |
Nuno | 6f4319bfcb | 4 years ago |
Nuno | ab958d1891 | 4 years ago |
Nuno | c3c7e15c81 | 4 years ago |
Nuno | 568a7a10a9 | 4 years ago |
Nuno | f886d5eac7 | 4 years ago |
Nuno | 540ab1ffc8 | 4 years ago |
Nuno | 629e8f5272 | 4 years ago |
Nuno | 868f462d5f | 4 years ago |
Nuno | 5a7d067a71 | 4 years ago |
Nuno | 17f818eace | 4 years ago |
Nuno | 5825332757 | 4 years ago |
Nimetu | c1170a0a4d | 4 years ago |
Nimetu | 291d332b56 | 4 years ago |
Nimetu | d8f54820c4 | 4 years ago |
Nimetu | 155418b20b | 4 years ago |
Nimetu | d665e1fc45 | 4 years ago |
Nimetu | 36f9888b91 | 4 years ago |
Nimetu | 17782d5d21 | 4 years ago |
Nuno | 85e788da81 | 4 years ago |
Nuno | 54de87acf4 | 4 years ago |
Nuno | ebab993e3e | 4 years ago |
Nuno | 3613dfd305 | 4 years ago |
Nuno | c09f82db16 | 4 years ago |
Nuno | 6402a31e4e | 4 years ago |
Nuno | 27cdcf1e02 | 4 years ago |
Nuno | de90245f27 | 4 years ago |
Nuno | bf2f8e39a5 | 4 years ago |
Nimetu | 26482eef1b | 4 years ago |
Nimetu | 383e362ed7 | 4 years ago |
Nimetu | c09ed63120 | 4 years ago |
Nimetu | fdb271bdb3 | 4 years ago |
kaetemi | dba92deea5 | 4 years ago |
Nuno | 0fb9422426 | 4 years ago |
kaetemi | 2528e542cb | 4 years ago |
kaetemi | 719f178f70 | 4 years ago |
Riasan | f83d8a206e | 4 years ago |
Riasan | 8cd863ff44 | 4 years ago |
Nuno | 89065eee3f | 4 years ago |
Sit Melai | 91b3ff25b4 | 4 years ago |
Nimetu | 4bcf9270eb | 4 years ago |
Sit Melai | c75071b488 | 4 years ago |
Nimetu | 04a5aa372b | 4 years ago |
Nimetu | 29ef76e537 | 4 years ago |
Nimetu | 040eee5c9e | 4 years ago |
Nimetu | c6ede4a8b4 | 4 years ago |
Nuno | adf9a646b7 | 4 years ago |
Nuno | 2aaa928cdc | 4 years ago |
Nuno | 83d0e600f1 | 4 years ago |
Nuno | df69a1706f | 4 years ago |
Nuno | 6651e839f3 | 4 years ago |
Nuno | 62be2ab1fb | 4 years ago |
Nuno | 8c62f4e64c | 4 years ago |
Nuno | 2075bf7443 | 4 years ago |
Nuno | 44caf59afd | 4 years ago |
Nuno | 057cf828f4 | 4 years ago |
Nuno | 8d2071524c | 4 years ago |
Nuno | 6db93a0ef0 | 4 years ago |
Nuno | f61d10c75e | 4 years ago |
Nuno | 90728f372a | 4 years ago |
Nuno | 8fa5de61e3 | 4 years ago |
Nuno | 74dbe1e52c | 4 years ago |
Nuno | 6adf44f0b0 | 4 years ago |
Nuno | 98124a3bd5 | 4 years ago |
Nuno | 46ecaac095 | 4 years ago |
Nuno | 06e2840be5 | 4 years ago |
Nuno | bbabe75247 | 4 years ago |
Nuno | b62ddc49d2 | 4 years ago |
Nuno | 690286b2c4 | 4 years ago |
Nuno | ada7dec7d3 | 4 years ago |
Nuno | 98b091ab63 | 4 years ago |
Nuno | 53252d40db | 4 years ago |
Nuno | 2b648934ea | 4 years ago |
Nuno | 46c7b0309d | 4 years ago |
Nuno | 347ed4b2fb | 4 years ago |
Nuno | b9d29d5cfe | 4 years ago |
Nuno | ea212bcba2 | 4 years ago |
Nuno | 281ec4ba60 | 4 years ago |
Nuno | 951f000be4 | 4 years ago |
Nuno | 4726e74dcd | 4 years ago |
Nuno | c5fffb9ff0 | 4 years ago |
Nuno | ae9989dfe4 | 4 years ago |
Nuno | d35ae0db80 | 4 years ago |
Nuno | 3dbdbad80a | 4 years ago |
Riasan | 0a81f40606 | 4 years ago |
Nuno | c63b21150e | 4 years ago |
Nuno | 9771d79bc3 | 4 years ago |
Nimetu | b70573d1dc | 4 years ago |
Nimetu | 7111cf44b3 | 4 years ago |
Nimetu | cb77552121 | 4 years ago |
Nuno | 2bf8faf29e | 4 years ago |
Nuno | b984e2e3d8 | 4 years ago |
Nuno | 140c380eb5 | 4 years ago |
Nuno | 1225fc0fe8 | 4 years ago |
Nuno | 13cb05c732 | 4 years ago |
Nuno | f84184af25 | 4 years ago |
Nuno | 4b6e0184a3 | 4 years ago |
Nuno | 269526e87f | 4 years ago |
Nuno | b8668813df | 4 years ago |
Nuno | 6f9dce0fdc | 4 years ago |
Nuno | fd8b2436ff | 4 years ago |
Nuno | 588bd79535 | 4 years ago |
Nuno | ced0ca3e1c | 4 years ago |
kaetemi | e998d3a85c | 4 years ago |
kaetemi | 5c3b0cf14b | 4 years ago |
Nuno | c327303222 | 4 years ago |
Nuno | 864eba1629 | 4 years ago |
Nuno | 29c3651063 | 4 years ago |
Nuno | acfb37103f | 4 years ago |
Nuno | 3d38a8ca89 | 4 years ago |
Nuno | 4f34ce36ae | 4 years ago |
Nuno | 8d2b26b738 | 4 years ago |
Nuno | 79e65a6b9e | 4 years ago |
Nuno | 6e59af8dc9 | 4 years ago |
Nuno | d23166ae49 | 4 years ago |
Nuno | 0b110c6a88 | 4 years ago |
Nuno | 13398f094a | 4 years ago |
Nuno | 7018a4439c | 4 years ago |
Riasan | cbbbc74a60 | 4 years ago |
Nuno | dab6321caa | 4 years ago |
Nuno | 07390fed37 | 4 years ago |
Nuno | ec98cd2e65 | 4 years ago |
Nuno | ad52a23437 | 4 years ago |
Nuno | c78d1d934f | 4 years ago |
Nuno | 677933ed98 | 4 years ago |
Nuno | 541529bb3f | 4 years ago |
Nuno | a273f78851 | 4 years ago |
Nuno | cb207bdd9d | 4 years ago |
Nuno | 8ec332fefa | 4 years ago |
Nuno | 2f776eab9c | 4 years ago |
Nuno | 04aa097781 | 4 years ago |
Nuno | 3996327394 | 4 years ago |
Nuno | 27e553ccb5 | 4 years ago |
Nuno | 323be1612e | 4 years ago |
Nuno | 184582cfc9 | 4 years ago |
Nimetu | e39cd0a8d3 | 4 years ago |
Nuno | 0b9599c57b | 4 years ago |
Sit Melai | 9d7f2af1a7 | 4 years ago |
Nuno | e021c09051 | 4 years ago |
Nuno | 52ff736ee9 | 4 years ago |
Nuno | d2c56f4b7c | 4 years ago |
Nuno | 2bdc6fb7ae | 4 years ago |
Nuno | a848eab99c | 4 years ago |
kaetemi | b0f1c73d77 | 4 years ago |
kaetemi | 109ed7eba5 | 4 years ago |
Nuno | 9ae2df4527 | 4 years ago |
Nimetu | 762962ef25 | 4 years ago |
Nimetu | 9f3250f4db | 4 years ago |
Nimetu | e8c18b1b44 | 4 years ago |
Nimetu | 73610be10d | 4 years ago |
Nimetu | 72098f624d | 4 years ago |
kaetemi | 1a6e5e6e2b | 4 years ago |
kaetemi | 7adbb84514 | 4 years ago |
kaetemi | e74e229ad9 | 4 years ago |
Nimetu | ae91cc4179 | 4 years ago |
Nimetu | 6ccd8853db | 4 years ago |
Nuno | cc7793202b | 4 years ago |
Nuno | 0bb160545f | 4 years ago |
Nuno | 0e1b464e98 | 4 years ago |
Nuno | dfe051a8df | 4 years ago |
Nuno Gonçalves (Ulukyn) | 2f6133c8ba | 4 years ago |
Nuno Gonçalves (Ulukyn) | 95f8cefecc | 4 years ago |
Nuno Gonçalves (Ulukyn) | b98cd5e345 | 4 years ago |
Nuno Gonçalves (Ulukyn) | bca2a28187 | 4 years ago |
Sit Melai | b7cbeeb2ae | 4 years ago |
Ulukyn | 5d4e81e24c | 4 years ago |
Ulukyn | c73fff2ca6 | 4 years ago |
Nimetu | 9532fc3a81 | 4 years ago |
Nimetu | 6b59fc0081 | 4 years ago |
Sit Melai | 47bf9ecbc8 | 4 years ago |
Sit Melai | 02732c1241 | 4 years ago |
Sit Melai | f96f0b41b9 | 4 years ago |
Sit Melai | 5dc85db8b1 | 4 years ago |
Sit Melai | 49fcec5759 | 4 years ago |
Sit Melai | b8b21914f6 | 4 years ago |
Sit Melai | bccc86bd99 | 4 years ago |
Sit Melai | e5b3b752d5 | 4 years ago |
Sit Melai | c06469b2a0 | 4 years ago |
Ulukyn | 6fa74cd5c2 | 4 years ago |
Riasan | 8cd685d1f4 | 4 years ago |
Riasan | f31eeff8fc | 4 years ago |
Sit Melai | 7e10c697eb | 4 years ago |
Nimetu | f7be62eb3d | 4 years ago |
Nimetu | 2a4b16ab1b | 4 years ago |
Ulukyn | f7e8e3f516 | 4 years ago |
Ulukyn | 107dbc1987 | 4 years ago |
Ulukyn | 97dc744759 | 4 years ago |
Ulukyn | 012339dcf1 | 4 years ago |
Ulukyn | 884c65fc26 | 4 years ago |
Ulukyn | 07f9a55e48 | 4 years ago |
Ulukyn | a87b0f4c97 | 4 years ago |
Ulukyn | 4138a99fb7 | 4 years ago |
Ulukyn | 7be52a10fe | 4 years ago |
Ulukyn | f4a104bf3f | 4 years ago |
Ulukyn | 80a6bf72a9 | 4 years ago |
Ulukyn | 17e539132b | 4 years ago |
Ulukyn | 27bd2cec01 | 4 years ago |
Ulukyn | 6597f32fc1 | 4 years ago |
Ulukyn | 9e2872d15e | 4 years ago |
Ulukyn | 901f33d9a7 | 4 years ago |
Ulukyn | 421de3fa91 | 4 years ago |
Ulukyn | 08fb509d99 | 4 years ago |
Sit Melai | 6c8aeb6ae3 | 4 years ago |
Sit Melai | 59c794f716 | 4 years ago |
Heernis | 3c052d5fcc | 4 years ago |
Sit Melai | c2e7807f99 | 4 years ago |
Riasan | d130a7f826 | 5 years ago |
Ulukyn | fd2cc53d68 | 5 years ago |
Ulukyn | 6ae34e08d9 | 5 years ago |
Ulukyn | 80568ade1c | 5 years ago |
Ulukyn | a8016b6a59 | 5 years ago |
Ulukyn | d0fdfe175d | 5 years ago |
Ulukyn | 4254b6788a | 5 years ago |
Riasan | ada46dfabc | 5 years ago |
kaetemi | fc197880a4 | 5 years ago |
Ulukyn | ada3c09a51 | 5 years ago |
Ulukyn | 83061f7f03 | 5 years ago |
Ulukyn | 3c6bed32fd | 5 years ago |
Nimetu | 92b3a31f0b | 5 years ago |
Ulukyn | f396858ea9 | 5 years ago |
Ulukyn | eae8f9999d | 5 years ago |
Ulukyn | b8885cd661 | 5 years ago |
Ulukyn | f67a1cde32 | 5 years ago |
Ulukyn | feb1a5647d | 5 years ago |
Ulukyn | f3009c4178 | 5 years ago |
Ulukyn | 820bd23cf6 | 5 years ago |
Ulukyn | c883ea63e0 | 5 years ago |
Ulukyn | 791a6641d9 | 5 years ago |
Ulukyn | 521a5c8fb7 | 5 years ago |
Ulukyn | da876dcf7c | 5 years ago |
Ulukyn | 0069db15a6 | 5 years ago |
Ulukyn | 3da2f45363 | 5 years ago |
Ulukyn | 1143ecaae0 | 5 years ago |
Heernis | bcc107e187 | 5 years ago |
Nimetu | 36187626a9 | 5 years ago |
Nimetu | bde8d008d1 | 5 years ago |
Nimetu | 6993a2731f | 5 years ago |
Nimetu | 52d6f89e1e | 5 years ago |
Nimetu | 5bddfcfb22 | 5 years ago |
Ulukyn | aa15fd4e98 | 5 years ago |
Ulukyn | 0f8673beac | 5 years ago |
Ulukyn | 219914b4bf | 5 years ago |
Ulukyn | fb4aebf506 | 5 years ago |
Ulukyn | 81832ae0af | 5 years ago |
kaetemi | 39d6ca285a | 5 years ago |
kaetemi | c8fc110a9e | 5 years ago |
kaetemi | a9fc9c2015 | 5 years ago |
Ulukyn | e32c852d96 | 5 years ago |
Ulukyn | f3a02d4f2a | 5 years ago |
Ulukyn | bd99cd8aed | 5 years ago |
Ulukyn | 77d8cce15a | 5 years ago |
Ulukyn | aa0d9d0be9 | 5 years ago |
Ulukyn | 0845e19408 | 5 years ago |
Ulukyn | ece240448d | 5 years ago |
Ulukyn | 07ff703de2 | 5 years ago |
Ulukyn | f6116a813b | 5 years ago |
Ulukyn | 422a8bb744 | 5 years ago |
Ulukyn | 25d4cca3a9 | 5 years ago |
Ulukyn | 6a40fcf12d | 5 years ago |
Ulukyn | bf0042173f | 5 years ago |
Ulukyn | 681568ce08 | 5 years ago |
Ulukyn | 47863be96e | 5 years ago |
Ulukyn | ade5b6e702 | 5 years ago |
Ulukyn | ecd8b952a2 | 5 years ago |
Ulukyn | 272f91210b | 5 years ago |
Ulukyn | 24d4fb8253 | 5 years ago |
Nimetu | 24fd5a6230 | 5 years ago |
Riasan | 9043e78794 | 5 years ago |
Nimetu | 5250d22706 | 5 years ago |
Nimetu | 682985978d | 5 years ago |
Nimetu | b3f8f307b0 | 5 years ago |
Ulukyn | b5ffa8becd | 5 years ago |
Ulukyn | 92090056ea | 5 years ago |
Nimetu | a6c7b3dd37 | 5 years ago |
Ulukyn | 1e54da83ef | 5 years ago |
Ulukyn | 6ec06b29ab | 5 years ago |
Ulukyn | 7b15da1018 | 5 years ago |
Nimetu | 598be95efd | 5 years ago |
Nimetu | 7f373a904e | 5 years ago |
Nimetu | 983475ff7c | 5 years ago |
Ulukyn | 44824414b1 | 5 years ago |
Ulukyn | 95b0f63622 | 5 years ago |
Ulukyn | 264b50a5ec | 5 years ago |
Ulukyn | 143b96c214 | 5 years ago |
Ulukyn | d4e5af7df2 | 5 years ago |
Ulukyn | 8dc9b89f94 | 5 years ago |
Nimetu | 2d86c5377d | 5 years ago |
Ulukyn | 04f9d593e0 | 5 years ago |
Nimetu | 3be969a73d | 5 years ago |
Ulukyn | ce8b05b284 | 5 years ago |
Ulukyn | 42b291c73e | 5 years ago |
Nimetu | 4aa94b3ae9 | 5 years ago |
Nimetu | c0110133d7 | 5 years ago |
Nimetu | c36faf2d61 | 5 years ago |
Ulukyn | fef0cad61a | 5 years ago |
Ulukyn | debb6b7d0c | 5 years ago |
Heernis | f11ed5ea49 | 5 years ago |
Ulukyn | 050d9fea2f | 5 years ago |
Ulukyn | 9a8f29bb67 | 5 years ago |
Ulukyn | c2e879ebcc | 5 years ago |
Ulukyn | 11086f9b44 | 5 years ago |
Ulukyn | 311e739d98 | 5 years ago |
Ulukyn | f6f7e553fc | 5 years ago |
Ulukyn | 255271cde5 | 5 years ago |
Ulukyn | 6d233cdc2c | 5 years ago |
Ulukyn | f337a28ae2 | 5 years ago |
Ulukyn | a36694614f | 5 years ago |
Ulukyn | bcb8080d42 | 5 years ago |
Ulukyn | 2c9193fa74 | 5 years ago |
Ulukyn | 7e84ee9ec9 | 5 years ago |
Ulukyn | ff5d4e941c | 5 years ago |
Nimetu | f853adfcba | 5 years ago |
Nimetu | 1f736fc347 | 5 years ago |
Ulukyn | 8f3aaee987 | 5 years ago |
Ulukyn | 8d0172e1fb | 5 years ago |
Ulukyn | f06eebf26c | 5 years ago |
Ulukyn | 31ecfdf181 | 5 years ago |
Ulukyn | 4997576923 | 5 years ago |
Ulukyn | 9b6693763f | 5 years ago |
Ulukyn | b9d1cf26b7 | 5 years ago |
Ulukyn | ae25e054d4 | 5 years ago |
Ulukyn | 269f8c4b2d | 5 years ago |
Ulukyn | a3db3c6ba6 | 5 years ago |
Nimetu | 4d9aa3e684 | 5 years ago |
Nimetu | e99b7e257d | 5 years ago |
Nimetu | 94873c3d3f | 5 years ago |
Nimetu | 586e49282f | 5 years ago |
Nimetu | ca20d582b3 | 5 years ago |
Nimetu | 7cb5c817a6 | 5 years ago |
Nimetu | ec1dfca0c5 | 5 years ago |
Ulukyn | df6c0969c2 | 5 years ago |
Ulukyn | 590abe8bfd | 5 years ago |
Ulukyn | b31fa09af7 | 5 years ago |
Ulukyn | 3220a2aa47 | 5 years ago |
Ulukyn | c639bb3c07 | 5 years ago |
Nimetu | 2f635117f7 | 5 years ago |
Ulukyn | 0cf26cbdf8 | 5 years ago |
Nimetu | 34083dee80 | 5 years ago |
Nimetu | edb0c1fe73 | 5 years ago |
Nimetu | 9aabe0bf35 | 5 years ago |
Nimetu | 3b08d50b83 | 5 years ago |
Ulukyn | 523c07d9d9 | 5 years ago |
Ulukyn | e89d3233dc | 5 years ago |
Ulukyn | 96e95c19ee | 5 years ago |
Ulukyn | e10f79dbf2 | 5 years ago |
Ulukyn | 0aff3b4365 | 5 years ago |
Ulukyn | b0fa434c05 | 5 years ago |
Ulukyn | e349cb4399 | 5 years ago |
Ulukyn | f9cf9db049 | 5 years ago |
Ulukyn | 92f3c01a74 | 5 years ago |
Ulukyn | 3ffab7c1a1 | 5 years ago |
Ulukyn | 4df2489f59 | 5 years ago |
Ulukyn | de6418bb9a | 5 years ago |
Ulukyn | 1db0300515 | 5 years ago |
Ulukyn | 435b4362d3 | 5 years ago |
Ulukyn | f9d37a390a | 5 years ago |
Ulukyn | 99413cff48 | 5 years ago |
Ulukyn | d45f6efcef | 5 years ago |
Ulukyn | 01cb2cfdd8 | 5 years ago |
Ulukyn | 5f762edac4 | 5 years ago |
Ulukyn | bfadcfaff5 | 5 years ago |
Ulukyn | 55172c93b5 | 5 years ago |
Ulukyn | c950373782 | 5 years ago |
Ulukyn | b1d18ddb53 | 5 years ago |
Ulukyn | b869cd07d6 | 5 years ago |
Ulukyn | aaa24fd0f4 | 5 years ago |
Ulukyn | 6747613b03 | 5 years ago |
Ulukyn | ac6afb7b2f | 5 years ago |
Ulukyn | 4048ef29db | 5 years ago |
Ulukyn | b5b395c127 | 5 years ago |
Ulukyn | a7d2175f93 | 5 years ago |
Ulukyn | b16d132e1d | 5 years ago |
Ulukyn | e3cef8803e | 5 years ago |
Ulukyn | cb2201a69a | 5 years ago |
Nimetu | dfeba1426a | 5 years ago |
Ulukyn | c9bec465bc | 5 years ago |
Nimetu | 7856e93723 | 5 years ago |
Nimetu | 8f59a71e3c | 5 years ago |
Nimetu | 15433b263b | 5 years ago |
Ulukyn | 58a731628b | 5 years ago |
Ulukyn | eb8daeb652 | 5 years ago |
Ulukyn | c6d5163c1d | 5 years ago |
Ulukyn | 2c63a3aa96 | 5 years ago |
Ulukyn | 4709e766b9 | 5 years ago |
Ulukyn | b2207337fa | 5 years ago |
Ulukyn | 47dc707c91 | 5 years ago |
Ulukyn | 232af164ed | 5 years ago |
Ulukyn | f18101d97e | 5 years ago |
Ulukyn | 0df2bdec2b | 5 years ago |
Ulukyn | ed17e66d97 | 5 years ago |
Ulukyn | 7f149563f6 | 5 years ago |
Nimetu | e22d271408 | 5 years ago |
Ulukyn | d77d3b7102 | 5 years ago |
Ulukyn | e049c34c8d | 5 years ago |
Ulukyn | 6114cb1044 | 5 years ago |
Ulukyn | 609d6b470f | 5 years ago |
Ulukyn | 414011ee37 | 5 years ago |
Ulukyn | b558a1a18b | 5 years ago |
Ulukyn | b033942d36 | 5 years ago |
Ulukyn | de8c9dddcb | 5 years ago |
Ulukyn | 6e00000b9b | 5 years ago |
Ulukyn | 15ce2cd39c | 5 years ago |
Ulukyn | f9738713a7 | 5 years ago |
Ulukyn | 20b1f3a4c5 | 5 years ago |
Ulukyn | 586d84bc20 | 5 years ago |
Ulukyn | b88341792a | 5 years ago |
Ulukyn | 1c562ddbe6 | 5 years ago |
Ulukyn | 4675b8b8b9 | 5 years ago |
Ulukyn | d2edcbf4ee | 5 years ago |
Ulukyn | 954151ca73 | 5 years ago |
Ulukyn | 45b1bab23f | 5 years ago |
Ulukyn | 123197b90b | 5 years ago |
Ulukyn | 4b847a086a | 5 years ago |
Ulukyn | 9f61f08e74 | 5 years ago |
Ulukyn | aacbcf1e65 | 5 years ago |
Ulukyn | c838136d1a | 5 years ago |
Ulukyn | 0455d07125 | 5 years ago |
Ulukyn | 6785217b3a | 5 years ago |
Ulukyn | cc5423fdd5 | 5 years ago |
Ulukyn | c22f8776f4 | 5 years ago |
Nimetu | f5c0cbcdf3 | 5 years ago |
Nimetu | 8b2108af2f | 5 years ago |
Ulukyn | a7ca6f4499 | 5 years ago |
Ulukyn | 9e5f20a679 | 5 years ago |
Ulukyn | 11573ee85a | 5 years ago |
Ulukyn | 48a9a84d0e | 5 years ago |
Ulukyn | 2f27af125e | 5 years ago |
Ulukyn | 10f864b234 | 5 years ago |
Ulukyn | 0ac92bc08b | 5 years ago |
Ulukyn | 34c1265bce | 5 years ago |
Ulukyn | a6ee9fec63 | 5 years ago |
Ulukyn | fe008c0e52 | 5 years ago |
Ulukyn | 935c5df73a | 5 years ago |
Ulukyn | 7a0737e759 | 5 years ago |
Ulukyn | 09d8346558 | 5 years ago |
Ulukyn | 7f53767d85 | 5 years ago |
karu | 6a7fc98a52 | 5 years ago |
Ulukyn | 3d919974cf | 5 years ago |
Ulukyn | 691bf67c4d | 5 years ago |
Ulukyn | f053eaa157 | 5 years ago |
Ulukyn | 30fabcbd0a | 5 years ago |
Ulukyn | 3966020294 | 5 years ago |
Ulukyn | eeac201cf3 | 5 years ago |
Ulukyn | 357e3f07e4 | 5 years ago |
Ulukyn | 188c3494fa | 5 years ago |
Ulukyn | 51776f9203 | 5 years ago |
Ulukyn | 7b8a4e2210 | 5 years ago |
Ulukyn | 762dcd15e2 | 5 years ago |
Ulukyn | ac43b90ba0 | 5 years ago |
Ulukyn | df3c7c2f2e | 5 years ago |
Ulukyn | 780b9c7e63 | 5 years ago |
Ulukyn | f4ee795fde | 5 years ago |
Ulukyn | c521de1d48 | 5 years ago |
Riasan | d5ceb97fa0 | 5 years ago |
Ulukyn | cdc33730ad | 5 years ago |
Ulukyn | 305a27f0db | 5 years ago |
Nimetu | 4c1daee42c | 5 years ago |
Ulu Kyn | b5b8de283b | 5 years ago |
Ulu Kyn | 7b3c09f873 | 5 years ago |
Ulu Kyn | 3f7fc2e870 | 5 years ago |
Ulu Kyn | 4c0438d702 | 5 years ago |
Ulu Kyn | 139b03f0f1 | 5 years ago |
Ulu Kyn | 99caf036ff | 5 years ago |
Ulu Kyn | 6c35550c83 | 5 years ago |
Ulu Kyn | 8221ee2eb9 | 5 years ago |
Ulu Kyn | fd1f151504 | 5 years ago |
Ulu Kyn | c43b4b8bc0 | 5 years ago |
Ulu Kyn | a806758fad | 5 years ago |
Ulu Kyn | 58e24f9c58 | 5 years ago |
Herrah | 99ededcfcb | 5 years ago |
Ulu Kyn | e32e4492ce | 5 years ago |
Ulu Kyn | e3dc99e078 | 5 years ago |
Nuno Gonçalves | 9e406019d8 | 5 years ago |
Nuno Gonçalves | 19789a2544 | 5 years ago |
Nimetu | e4cce24f80 | 5 years ago |
Nimetu | 2e3fa918d4 | 5 years ago |
Nuno Gonçalves | 89973681a2 | 5 years ago |
Nuno Gonçalves | 683af88cb9 | 5 years ago |
Nimetu | da5b7212f8 | 5 years ago |
Nimetu | 14b1c1232a | 5 years ago |
Nuno Gonçalves | de69dfc285 | 5 years ago |
Nuno Gonçalves | f5776610f1 | 5 years ago |
Inky | 11f2044c7d | 5 years ago |
Nimetu | b53d797745 | 5 years ago |
Nimetu | 8b4c179a15 | 5 years ago |
ulukyn | 959d52fd80 | 5 years ago |
Nimetu | b423c0f057 | 5 years ago |
Nimetu | 7148d476ad | 5 years ago |
Nimetu | c9a5fbacd9 | 5 years ago |
Inky | bfbb8e1292 | 5 years ago |
Inky | 045a80b59e | 5 years ago |
Inky | 1ad5cf7a8e | 5 years ago |
Inky | c752619f13 | 5 years ago |
Inky | 26aef169b1 | 5 years ago |
Inky | 8006dbeabe | 5 years ago |
Inky | 6fdbdc9ed1 | 5 years ago |
Inky | f75e413994 | 5 years ago |
Inky | 3acbf83058 | 5 years ago |
Inky | 77496daef4 | 5 years ago |
Inky | c545629a10 | 5 years ago |
Inky | 1910f7bc86 | 5 years ago |
Inky | c1e76fcbb2 | 5 years ago |
Inky | 20fe11c53f | 5 years ago |
Inky | 6fcb6f0669 | 5 years ago |
Inky | a7cdf29463 | 5 years ago |
Inky | b2b16e3cce | 5 years ago |
Inky | 0f3f64cdc2 | 5 years ago |
Inky | c8927c9c4b | 5 years ago |
Inky | 5d1233e805 | 5 years ago |
Inky | f5e9b7703c | 5 years ago |
Inky | 098df688b9 | 5 years ago |
Inky | 6d16b46890 | 5 years ago |
Inky | 331b0d8718 | 5 years ago |
Inky | d9cb317667 | 5 years ago |
Inky | 90e508032c | 5 years ago |
Inky | 4a5de4cb13 | 5 years ago |
Inky | 9d294ef242 | 5 years ago |
Inky | 860d6e2abb | 6 years ago |
Inky | bfab92082b | 6 years ago |
Inky | 64e26124f8 | 6 years ago |
Inky | 21dfa80b73 | 6 years ago |
Inky | ac4d9efd8b | 6 years ago |
Inky | 00f850f143 | 6 years ago |
Nimetu | a4b3e57fd0 | 6 years ago |
Nimetu | 8b2aef9317 | 6 years ago |
Nimetu | c123f63afd | 6 years ago |
Nimetu | a22767af76 | 6 years ago |
ulukyn | f8af0da354 | 6 years ago |
Riasan | 4f08aa3082 | 6 years ago |
ulukyn | 72d636ded1 | 6 years ago |
Riasan | cba4d7948d | 6 years ago |
ulukyn | 739d000055 | 6 years ago |
ulukyn | 963162855c | 6 years ago |
ulukyn | 89ef083460 | 6 years ago |
Inky | 795606628f | 6 years ago |
Inky | e572cc3e83 | 6 years ago |
ulukyn | bf34575037 | 6 years ago |
ulukyn | 57a32f10ee | 6 years ago |
ulukyn | 6c9a8da387 | 6 years ago |
Riasan | 2aa065d109 | 6 years ago |
ulukyn | 41b0fac726 | 6 years ago |
ulukyn | b7ec1c68ac | 6 years ago |
ulukyn | cc6159a9d5 | 6 years ago |
Inky | 438b521ece | 6 years ago |
Ulukyn | f5f4411a00 | 6 years ago |
Riasan | 29cb0c579f | 6 years ago |
ulukyn | 8434cb1a34 | 6 years ago |
ulukyn | 39004eb54b | 6 years ago |
Riasan | d2df2043c5 | 6 years ago |
Riasan | d8cfde63f8 | 6 years ago |
Nuno Gonçalves | 617682afe6 | 6 years ago |
Nuno Gonçalves | c9d19b4879 | 6 years ago |
ulukyn | 0b507cba7b | 6 years ago |
ulukyn | db5a7b141a | 6 years ago |
ulukyn | 478e2a646f | 6 years ago |
ulukyn | 020c59153d | 6 years ago |
ulukyn | 4f1008a413 | 6 years ago |
Riasan | f14c4d7746 | 6 years ago |
ulukyn | 23fe859e19 | 6 years ago |
Riasan | c6978f769f | 6 years ago |
Riasan | 319ae23064 | 6 years ago |
Riasan | 3e2e6cb696 | 6 years ago |
Riasan | 3c66bf2ba2 | 6 years ago |
Riasan | 1390a45f71 | 6 years ago |
ulukyn | d599fa4c14 | 6 years ago |
ulukyn | b4d09e0774 | 6 years ago |
ulukyn | 6f65197479 | 6 years ago |
ulukyn | 569599281b | 6 years ago |
ulukyn | 10562b720b | 6 years ago |
ulukyn | 1fc73a8079 | 6 years ago |
ulukyn | f821ff6973 | 6 years ago |
Riasan | d51b3b2eae | 6 years ago |
Riasan | 90c99b0b0e | 6 years ago |
Riasan | 48b2e9799e | 6 years ago |
Riasan | 9c680f43ce | 6 years ago |
Riasan | 537865cdb9 | 6 years ago |
ulukyn | 60feb8bc57 | 6 years ago |
ulukyn | dd6057ad71 | 6 years ago |
Riasan | 882e067fc0 | 6 years ago |
Riasan | a82a018f40 | 6 years ago |
Riasan | eb1c367464 | 6 years ago |
teanwen | 4ca7ea8957 | 6 years ago |
ulukyn | 6c731f049e | 6 years ago |
ulukyn | 363a59d238 | 6 years ago |
Riasan | b59b8a51a9 | 6 years ago |
ulukyn | 5648981968 | 6 years ago |
Riasan | c1510a8fb8 | 6 years ago |
Riasan | beb3dca614 | 6 years ago |
Riasan | 80204090d4 | 6 years ago |
Riasan | 57e55ed250 | 6 years ago |
Riasan | 5601d84d60 | 6 years ago |
Riasan | 2b24a51439 | 6 years ago |
Riasan | 3343f46e11 | 6 years ago |
Riasan | 82e5e1a4fc | 6 years ago |
Riasan | 19285bc8e9 | 6 years ago |
Riasan | cdbd2e1f47 | 6 years ago |
Riasan | f8a252abcf | 6 years ago |
Ul U'Kyn | 453c81bc7c | 6 years ago |
Riasan | 56f450782f | 6 years ago |
Riasan | dda9dff6ba | 6 years ago |
Riasan | e0266dedcb | 6 years ago |
Riasan | 28fd5a7265 | 6 years ago |
ulukyn | 085770a098 | 6 years ago |
ulukyn | a5f98add80 | 6 years ago |
ulukyn | bb667c736c | 6 years ago |
ulukyn | d824ff5baf | 7 years ago |
ulukyn | 6cc550732b | 7 years ago |
ulukyn | fcfb17c784 | 7 years ago |
Riasan | 22b06fdb3e | 7 years ago |
Riasan | 05baa720e9 | 7 years ago |
Riasan | 8be4abf0fe | 7 years ago |
Riasan | f47f2b4801 | 7 years ago |
Riasan | 7c8eb4b3c6 | 7 years ago |
Riasan | 146ccbbe4c | 7 years ago |
Ul U'Kyn | eaf08e863e | 7 years ago |
Riasan | 5afbc26916 | 7 years ago |
Ul U'Kyn | b5234633b4 | 7 years ago |
Riasan | c60705a297 | 7 years ago |
Ul U'Kyn | 9d4829ec54 | 7 years ago |
Ul U'Kyn | c37ef9592e | 7 years ago |
Ul U'Kyn | af3fe227c8 | 8 years ago |
Ul U'Kyn | 0e122c76ba | 8 years ago |
Nuno Gonçalves | 14c7013348 | 8 years ago |
Nuno Gonçalves | fbf0d664fc | 8 years ago |
Nuno Gonçalves | 0fd0934111 | 8 years ago |
Nuno Gonçalves | aadf864e4e | 8 years ago |
vl | f86da6ec78 | 9 years ago |
@ -1,18 +0,0 @@
|
||||
*.cpp ident
|
||||
*.h ident
|
||||
|
||||
# Set the default behavior, in case people don't have core.autocrlf set.
|
||||
* text=auto
|
||||
|
||||
# Explicitly declare text files you want to always be normalized and converted
|
||||
# to native line endings on checkout.
|
||||
*.c text
|
||||
*.h text
|
||||
*.cs text
|
||||
*.jade text
|
||||
*.json text
|
||||
*.js text
|
||||
*.css text
|
||||
*.htm text
|
||||
*.txt text
|
||||
*.sh text eol=lf
|
@ -1,27 +1,28 @@
|
||||
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
|
||||
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
|
||||
|
@ -1,99 +0,0 @@
|
||||
# Locate Lua library
|
||||
# This module defines
|
||||
# LUA54_FOUND, if false, do not try to link to Lua
|
||||
# LUA_LIBRARIES
|
||||
# LUA_INCLUDE_DIR, where to find lua.h
|
||||
# LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8)
|
||||
#
|
||||
# Note that the expected include convention is
|
||||
# #include "lua.h"
|
||||
# and not
|
||||
# #include <lua/lua.h>
|
||||
# This is because, the lua location is not standardized and may exist
|
||||
# in locations other than lua/
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2007-2009 Kitware, Inc.
|
||||
#
|
||||
# Distributed under the OSI-approved BSD License (the "License");
|
||||
# see accompanying file Copyright.txt for details.
|
||||
#
|
||||
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See the License for more information.
|
||||
#=============================================================================
|
||||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
find_path(LUA_INCLUDE_DIR lua.h
|
||||
HINTS
|
||||
ENV LUA_DIR
|
||||
PATH_SUFFIXES include/lua54 include/lua5.4 include/lua-5.4 include/lua include
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
/opt
|
||||
)
|
||||
|
||||
FIND_LIBRARY(LUA_LIBRARY
|
||||
NAMES lua54 lua5.4 lua-5.4 lua
|
||||
HINTS
|
||||
$ENV{LUA_DIR}
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/sw
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
)
|
||||
|
||||
FIND_LIBRARY(LUA_LIBRARY_DEBUG
|
||||
NAMES lua54-d lua5.4-d lua-5.4-d lua-d lua54d lua5.4d lua-5.4d luad
|
||||
HINTS
|
||||
$ENV{LUA_DIR}
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/sw
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
)
|
||||
|
||||
if(LUA_LIBRARY)
|
||||
# include the math library for Unix
|
||||
if(UNIX AND NOT APPLE AND NOT BEOS)
|
||||
find_library(LUA_MATH_LIBRARY m)
|
||||
set( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries")
|
||||
# For Windows and Mac, don't need to explicitly include the math library
|
||||
else()
|
||||
if (LUA_LIBRARY_DEBUG)
|
||||
set( LUA_LIBRARIES optimized ${LUA_LIBRARY} debug ${LUA_LIBRARY_DEBUG} CACHE STRING "Lua Libraries")
|
||||
else()
|
||||
set( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/lua.h")
|
||||
file(STRINGS "${LUA_INCLUDE_DIR}/lua.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua .+\"")
|
||||
|
||||
string(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}")
|
||||
unset(lua_version_str)
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua54
|
||||
REQUIRED_VARS LUA_LIBRARIES LUA_INCLUDE_DIR
|
||||
VERSION_VAR LUA_VERSION_STRING)
|
||||
|
||||
mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_LIBRARY_DEBUG LUA_MATH_LIBRARY)
|
||||
|
@ -1,120 +1,120 @@
|
||||
;--------------------------------
|
||||
;Include Modern UI
|
||||
!include "MUI2.nsh"
|
||||
|
||||
;--------------------------------
|
||||
;General
|
||||
!define Company "Winch Gate"
|
||||
!define GenericProduct "Ryzom"
|
||||
!define Product "Ryzom Installer"
|
||||
!define RegistryCat "HKCU"
|
||||
!define RegistryKey "Software\${Company}\${GenericProduct}"
|
||||
!define Executable "ryzom_installer_qt_r.exe"
|
||||
!define SrcDir "RyzomInstaller"
|
||||
!define Installer "ryzom_installer_windows.exe"
|
||||
|
||||
;Properly display all languages (Installer will not work on Windows 95, 98 or ME!)
|
||||
;Unicode true
|
||||
|
||||
;New XP style
|
||||
XPStyle on
|
||||
|
||||
;Name and file
|
||||
Name "${Product}"
|
||||
OutFile "${Installer}"
|
||||
|
||||
;Default installation folder
|
||||
InstallDir "$LOCALAPPDATA\${GenericProduct}"
|
||||
|
||||
;Get installation folder from registry if available
|
||||
InstallDirRegKey "${RegistryCat}" "${RegistryKey}" "${GenericProduct} Install Path"
|
||||
|
||||
;Request application privileges for Windows Vista
|
||||
RequestExecutionLevel user
|
||||
|
||||
;Best compression
|
||||
SetCompressor LZMA
|
||||
|
||||
; ???
|
||||
AllowSkipFiles on
|
||||
|
||||
;--------------------------------
|
||||
;Interface Settings
|
||||
|
||||
!define MUI_ICON "${SrcDir}\${GenericProduct}.ico"
|
||||
!define MUI_UNICON "${SrcDir}\${GenericProduct}.ico"
|
||||
!define MUI_HEADERIMAGE
|
||||
!define MUI_HEADERIMAGE_BITMAP "modern-header.bmp" ; optional
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "modern-wizard.bmp"
|
||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "modern-wizard.bmp"
|
||||
!define MUI_ABORTWARNING
|
||||
|
||||
;Show all languages, despite user's codepage
|
||||
!define MUI_LANGDLL_ALLLANGUAGES
|
||||
|
||||
;--------------------------------
|
||||
;Language Selection Dialog Settings
|
||||
|
||||
;Remember the installer language
|
||||
!define MUI_LANGDLL_REGISTRY_ROOT "${RegistryCat}"
|
||||
!define MUI_LANGDLL_REGISTRY_KEY "${RegistryKey}"
|
||||
!define MUI_LANGDLL_REGISTRY_VALUENAME "Language"
|
||||
|
||||
;--------------------------------
|
||||
;Pages
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\${Executable}"
|
||||
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
!insertmacro MUI_UNPAGE_WELCOME
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
!insertmacro MUI_UNPAGE_FINISH
|
||||
|
||||
;--------------------------------
|
||||
;Languages
|
||||
|
||||
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
|
||||
!insertmacro MUI_LANGUAGE "French"
|
||||
!insertmacro MUI_LANGUAGE "German"
|
||||
!insertmacro MUI_LANGUAGE "Spanish"
|
||||
|
||||
;--------------------------------
|
||||
;Reserve Files
|
||||
|
||||
;If you are using solid compression, files that are required before
|
||||
;the actual installation should be stored first in the data block,
|
||||
;because this will make your installer start faster.
|
||||
|
||||
!insertmacro MUI_RESERVEFILE_LANGDLL
|
||||
|
||||
;--------------------------------
|
||||
;Installer Sections
|
||||
|
||||
; ----------------------------------------
|
||||
; Default section
|
||||
Section
|
||||
SetOutPath "$INSTDIR"
|
||||
|
||||
;Client, configuration and misc files
|
||||
File "${SrcDir}\${Executable}"
|
||||
File "${SrcDir}\msvcp120.dll"
|
||||
File "${SrcDir}\msvcr120.dll"
|
||||
|
||||
;Shortcut on desktop
|
||||
CreateShortCut "$DESKTOP\${Product}.lnk" "$INSTDIR\${Executable}"
|
||||
|
||||
;Store installation folder
|
||||
WriteRegStr "${RegistryCat}" "${RegistryKey}" "${GenericProduct} Install Path" $INSTDIR
|
||||
SectionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Installer Functions
|
||||
|
||||
Function .onInit
|
||||
!insertmacro MUI_LANGDLL_DISPLAY
|
||||
FunctionEnd
|
||||
;--------------------------------
|
||||
;Include Modern UI
|
||||
!include "MUI2.nsh"
|
||||
|
||||
;--------------------------------
|
||||
;General
|
||||
!define Company "Winch Gate"
|
||||
!define GenericProduct "Ryzom"
|
||||
!define Product "Ryzom Installer"
|
||||
!define RegistryCat "HKCU"
|
||||
!define RegistryKey "Software\${Company}\${GenericProduct}"
|
||||
!define Executable "ryzom_installer_qt_r.exe"
|
||||
!define SrcDir "RyzomInstaller"
|
||||
!define Installer "ryzom_installer_windows.exe"
|
||||
|
||||
;Properly display all languages (Installer will not work on Windows 95, 98 or ME!)
|
||||
;Unicode true
|
||||
|
||||
;New XP style
|
||||
XPStyle on
|
||||
|
||||
;Name and file
|
||||
Name "${Product}"
|
||||
OutFile "${Installer}"
|
||||
|
||||
;Default installation folder
|
||||
InstallDir "$LOCALAPPDATA\${GenericProduct}"
|
||||
|
||||
;Get installation folder from registry if available
|
||||
InstallDirRegKey "${RegistryCat}" "${RegistryKey}" "${GenericProduct} Install Path"
|
||||
|
||||
;Request application privileges for Windows Vista
|
||||
RequestExecutionLevel user
|
||||
|
||||
;Best compression
|
||||
SetCompressor LZMA
|
||||
|
||||
; ???
|
||||
AllowSkipFiles on
|
||||
|
||||
;--------------------------------
|
||||
;Interface Settings
|
||||
|
||||
!define MUI_ICON "${SrcDir}\${GenericProduct}.ico"
|
||||
!define MUI_UNICON "${SrcDir}\${GenericProduct}.ico"
|
||||
!define MUI_HEADERIMAGE
|
||||
!define MUI_HEADERIMAGE_BITMAP "modern-header.bmp" ; optional
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "modern-wizard.bmp"
|
||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "modern-wizard.bmp"
|
||||
!define MUI_ABORTWARNING
|
||||
|
||||
;Show all languages, despite user's codepage
|
||||
!define MUI_LANGDLL_ALLLANGUAGES
|
||||
|
||||
;--------------------------------
|
||||
;Language Selection Dialog Settings
|
||||
|
||||
;Remember the installer language
|
||||
!define MUI_LANGDLL_REGISTRY_ROOT "${RegistryCat}"
|
||||
!define MUI_LANGDLL_REGISTRY_KEY "${RegistryKey}"
|
||||
!define MUI_LANGDLL_REGISTRY_VALUENAME "Language"
|
||||
|
||||
;--------------------------------
|
||||
;Pages
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\${Executable}"
|
||||
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
!insertmacro MUI_UNPAGE_WELCOME
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
!insertmacro MUI_UNPAGE_FINISH
|
||||
|
||||
;--------------------------------
|
||||
;Languages
|
||||
|
||||
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
|
||||
!insertmacro MUI_LANGUAGE "French"
|
||||
!insertmacro MUI_LANGUAGE "German"
|
||||
!insertmacro MUI_LANGUAGE "Spanish"
|
||||
|
||||
;--------------------------------
|
||||
;Reserve Files
|
||||
|
||||
;If you are using solid compression, files that are required before
|
||||
;the actual installation should be stored first in the data block,
|
||||
;because this will make your installer start faster.
|
||||
|
||||
!insertmacro MUI_RESERVEFILE_LANGDLL
|
||||
|
||||
;--------------------------------
|
||||
;Installer Sections
|
||||
|
||||
; ----------------------------------------
|
||||
; Default section
|
||||
Section
|
||||
SetOutPath "$INSTDIR"
|
||||
|
||||
;Client, configuration and misc files
|
||||
File "${SrcDir}\${Executable}"
|
||||
File "${SrcDir}\msvcp120.dll"
|
||||
File "${SrcDir}\msvcr120.dll"
|
||||
|
||||
;Shortcut on desktop
|
||||
CreateShortCut "$DESKTOP\${Product}.lnk" "$INSTDIR\${Executable}"
|
||||
|
||||
;Store installation folder
|
||||
WriteRegStr "${RegistryCat}" "${RegistryKey}" "${GenericProduct} Install Path" $INSTDIR
|
||||
SectionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Installer Functions
|
||||
|
||||
Function .onInit
|
||||
!insertmacro MUI_LANGDLL_DISPLAY
|
||||
FunctionEnd
|
||||
|
@ -1,298 +1,298 @@
|
||||
;--------------------------------
|
||||
;Include Modern UI
|
||||
!include "MUI2.nsh"
|
||||
|
||||
;--------------------------------
|
||||
;General
|
||||
!define Company "Nevrax"
|
||||
!define Product "Ryzom"
|
||||
!define Version "2.1.0"
|
||||
!define Patch "661"
|
||||
!define RegistryCat "HKLM"
|
||||
!define RegistryKey "Software\${Company}\${Product}"
|
||||
!define Executable "client_ryzom_rd.exe"
|
||||
!define DstDir "Output"
|
||||
!define SrcDir "Ryzom"
|
||||
!define Installer "ryzom_setup_${Patch}.exe"
|
||||
|
||||
;Registry key for uninstaller
|
||||
!define UninstallRegistryRoot "Software\Microsoft\Windows\CurrentVersion\Uninstall"
|
||||
!define UninstallRegistryKey "${UninstallRegistryRoot}\${Product}"
|
||||
|
||||
;Properly display all languages (Installer will not work on Windows 95, 98 or ME!)
|
||||
Unicode true
|
||||
|
||||
;New XP style
|
||||
XPStyle on
|
||||
|
||||
;Name and file
|
||||
Name "${Product}"
|
||||
OutFile "${DstDir}\${Installer}"
|
||||
|
||||
;Default installation folder
|
||||
InstallDir "$PROGRAMFILES\${Product}"
|
||||
|
||||
;Get installation folder from registry if available
|
||||
InstallDirRegKey "${RegistryCat}" "${RegistryKey}" "${Product} Install Path"
|
||||
|
||||
;Request application privileges for Windows Vista
|
||||
RequestExecutionLevel admin
|
||||
|
||||
;Best compression
|
||||
SetCompressor LZMA
|
||||
|
||||
; ???
|
||||
AllowSkipFiles on
|
||||
|
||||
;--------------------------------
|
||||
;Variables
|
||||
|
||||
;Will be used later
|
||||
Var MUI_TEMP
|
||||
Var STARTMENU_FOLDER
|
||||
|
||||
;--------------------------------
|
||||
;Interface Settings
|
||||
|
||||
!define MUI_ICON "${SrcDir}\ryzom.ico"
|
||||
!define MUI_UNICON "${SrcDir}\ryzom.ico"
|
||||
!define MUI_HEADERIMAGE
|
||||
!define MUI_HEADERIMAGE_BITMAP "modern-header.bmp" ; optional
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "modern-wizard.bmp"
|
||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "modern-wizard.bmp"
|
||||
!define MUI_ABORTWARNING
|
||||
|
||||
;Show all languages, despite user's codepage
|
||||
!define MUI_LANGDLL_ALLLANGUAGES
|
||||
|
||||
;--------------------------------
|
||||
;Language Selection Dialog Settings
|
||||
|
||||
;Remember the installer language
|
||||
!define MUI_LANGDLL_REGISTRY_ROOT "${RegistryCat}"
|
||||
!define MUI_LANGDLL_REGISTRY_KEY "${RegistryKey}"
|
||||
!define MUI_LANGDLL_REGISTRY_VALUENAME "Language"
|
||||
|
||||
;--------------------------------
|
||||
;Pages
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
|
||||
;Start Menu Folder Page Configuration
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${RegistryCat}"
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_KEY "${RegistryKey}"
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
|
||||
|
||||
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
|
||||
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\${Executable}"
|
||||
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
!insertmacro MUI_UNPAGE_WELCOME
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
!insertmacro MUI_UNPAGE_FINISH
|
||||
|
||||
;--------------------------------
|
||||
;Languages
|
||||
|
||||
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
|
||||
!insertmacro MUI_LANGUAGE "French"
|
||||
!insertmacro MUI_LANGUAGE "German"
|
||||
;!insertmacro MUI_LANGUAGE "Spanish"
|
||||
|
||||
;--------------------------------
|
||||
;Reserve Files
|
||||
|
||||
;If you are using solid compression, files that are required before
|
||||
;the actual installation should be stored first in the data block,
|
||||
;because this will make your installer start faster.
|
||||
|
||||
!insertmacro MUI_RESERVEFILE_LANGDLL
|
||||
|
||||
;--------------------------------
|
||||
;Descriptions
|
||||
|
||||
;French
|
||||
LangString MSG_SUPPORT_URL_TITLE ${LANG_FRENCH} "Support"
|
||||
LangString MSG_SUPPORT_URL ${LANG_FRENCH} "http://app.ryzom.com/app_forum/index.php?page=topic/view/22047/1&post149889=fr#1"
|
||||
LangString MSG_HOME_URL_TITLE ${LANG_FRENCH} "${Product} sur le Web"
|
||||
LangString MSG_HOME_URL ${LANG_FRENCH} "http://ryzom.fr"
|
||||
LangString MSG_CONFIRM_DELETE_BACKUPS ${LANG_FRENCH} "Voulez-vous supprimer vos fichiers de sauvegarde ? Appuyer sur Oui pour effacer vos fichiers de sauvegarde."
|
||||
|
||||
;English
|
||||
LangString MSG_SUPPORT_URL_TITLE ${LANG_ENGLISH} "Support"
|
||||
LangString MSG_SUPPORT_URL ${LANG_ENGLISH} "http://app.ryzom.com/app_forum/index.php?page=topic/view/22047/1&post149889=en#1"
|
||||
LangString MSG_HOME_URL_TITLE ${LANG_ENGLISH} "${Product} on the Web"
|
||||
LangString MSG_HOME_URL ${LANG_ENGLISH} "http://ryzom.com"
|
||||
LangString MSG_CONFIRM_DELETE_BACKUPS ${LANG_ENGLISH} "Deleting Save Files? Click Yes to delete your own save files."
|
||||
|
||||
;German
|
||||
LangString MSG_SUPPORT_URL_TITLE ${LANG_GERMAN} "Support"
|
||||
LangString MSG_SUPPORT_URL ${LANG_GERMAN} "http://app.ryzom.com/app_forum/index.php?page=topic/view/22047/1&post149889=de#1"
|
||||
LangString MSG_HOME_URL_TITLE ${LANG_GERMAN} "${Product} im Internet"
|
||||
LangString MSG_HOME_URL ${LANG_GERMAN} "http://ryzom.de"
|
||||
LangString MSG_CONFIRM_DELETE_BACKUPS ${LANG_GERMAN} "Gespeicherte Dateien löschen? Klicke Ja um die eigenen Dateien zu löschen."
|
||||
|
||||
;--------------------------------
|
||||
;Installer Sections
|
||||
|
||||
!macro CreateInternetShortcut FILENAME URL ICONFILE
|
||||
WriteINIStr "${FILENAME}.url" "InternetShortcut" "URL" "${URL}"
|
||||
WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconFile" "${ICONFILE}"
|
||||
WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconIndex" "0"
|
||||
!macroend
|
||||
|
||||
; ----------------------------------------
|
||||
; Default section
|
||||
Section
|
||||
;Install for All Users
|
||||
SetShellVarContext all
|
||||
|
||||
;Game directories
|
||||
SetOutPath "$INSTDIR\cfg"
|
||||
File /r "${SrcDir}\cfg\*.*"
|
||||
|
||||
SetOutPath "$INSTDIR\data"
|
||||
File /r "${SrcDir}\data\*.*"
|
||||
|
||||
SetOutPath "$INSTDIR\examples"
|
||||
File /r "${SrcDir}\examples\*.*"
|
||||
|
||||
SetOutPath "$INSTDIR\user"
|
||||
File /r "${SrcDir}\user\*.*"
|
||||
|
||||
SetOutPath "$INSTDIR"
|
||||
|
||||
;Client, configuration and misc files
|
||||
File "${SrcDir}\client_default.cfg"
|
||||
File "${SrcDir}\${Executable}"
|
||||
File "${SrcDir}\configure.bat"
|
||||
File "${SrcDir}\d3dcompiler_43.dll"
|
||||
File "${SrcDir}\d3dx9_43.dll"
|
||||
File "${SrcDir}\fmod.dll"
|
||||
File "${SrcDir}\forum.url"
|
||||
File "${SrcDir}\launch.bat"
|
||||
File "${SrcDir}\msvcp100.dll"
|
||||
File "${SrcDir}\msvcr100.dll"
|
||||
File "${SrcDir}\nel_drv_direct3d_win_r.dll"
|
||||
File "${SrcDir}\nel_drv_fmod_win_r.dll"
|
||||
File "${SrcDir}\nel_drv_opengl_win_r.dll"
|
||||
File "${SrcDir}\ryzom.ico"
|
||||
File "${SrcDir}\ryzom.url"
|
||||
File "${SrcDir}\Ryzom6.ico"
|
||||
|
||||
;Create uninstaller
|
||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
|
||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
|
||||
|
||||
;Create shortcuts in Start Menu
|
||||
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
|
||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\${Product}.lnk" "$INSTDIR\${Executable}"
|
||||
|
||||
;Create URLs
|
||||
!insertmacro CreateInternetShortcut "$SMPROGRAMS\$STARTMENU_FOLDER\$(MSG_SUPPORT_URL_TITLE)" "$(MSG_SUPPORT_URL)" "$INSTDIR\ryzom.ico"
|
||||
!insertmacro CreateInternetShortcut "$SMPROGRAMS\$STARTMENU_FOLDER\$(MSG_HOME_URL_TITLE)" "$(MSG_HOME_URL)" "$INSTDIR\ryzom.ico"
|
||||
|
||||
!insertmacro MUI_STARTMENU_WRITE_END
|
||||
|
||||
;Shortcut on desktop
|
||||
CreateShortCut "$DESKTOP\${Product}.lnk" "$INSTDIR\${Executable}"
|
||||
|
||||
;Add/Remove Program entry
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "DisplayIcon" "$INSTDIR\${Executable},0"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "DisplayName" "${Product}"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "DisplayVersion" "${Version}"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "InstallLocation" "$INSTDIR"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "QuietUninstallString" '"$INSTDIR\Uninstall.exe" /S'
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "UninstallString" "$INSTDIR\Uninstall.exe"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "Publisher" "${Company}"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "HelpLink" "$(MSG_SUPPORT_URL)"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "URLInfoAbout" "$(MSG_HOME_URL)"
|
||||
|
||||
;Store installation folder
|
||||
WriteRegStr "${RegistryCat}" "${RegistryKey}" "${Product} Install Path" $INSTDIR
|
||||
SectionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Uninstaller Section
|
||||
Section "Uninstall"
|
||||
;Install for All Users
|
||||
SetShellVarContext all
|
||||
|
||||
;Game directories
|
||||
RMDir /r "$INSTDIR\cfg"
|
||||
RMDir /r "$INSTDIR\data"
|
||||
RMDir /r "$INSTDIR\examples"
|
||||
|
||||
;Temporary directories
|
||||
RMDir /r "$INSTDIR\cache"
|
||||
RMDir /r "$INSTDIR\unpack"
|
||||
|
||||
;Client, configuration and misc files
|
||||
Delete "$INSTDIR\client_default.cfg"
|
||||
Delete "$INSTDIR\${Executable}"
|
||||
Delete "$INSTDIR\configure.bat"
|
||||
Delete "$INSTDIR\d3dcompiler_43.dll"
|
||||
Delete "$INSTDIR\d3dx9_43.dll"
|
||||
Delete "$INSTDIR\fmod.dll"
|
||||
Delete "$INSTDIR\forum.url"
|
||||
Delete "$INSTDIR\launch.bat"
|
||||
Delete "$INSTDIR\msvcp100.dll"
|
||||
Delete "$INSTDIR\msvcr100.dll"
|
||||
Delete "$INSTDIR\nel_drv_direct3d_win_r.dll"
|
||||
Delete "$INSTDIR\nel_drv_fmod_win_r.dll"
|
||||
Delete "$INSTDIR\nel_drv_opengl_win_r.dll"
|
||||
Delete "$INSTDIR\ryzom.ico"
|
||||
Delete "$INSTDIR\ryzom.url"
|
||||
Delete "$INSTDIR\Ryzom6.ico"
|
||||
|
||||
;Delete uninstaller
|
||||
Delete "$INSTDIR\Uninstall.exe"
|
||||
|
||||
MessageBox MB_YESNO "$(MSG_CONFIRM_DELETE_BACKUPS)" IDNO DontDeleteMiscFiles
|
||||
|
||||
;Delete directory
|
||||
RMDir /r "$INSTDIR"
|
||||
|
||||
DontDeleteMiscFiles:
|
||||
|
||||
;Delete directory if empty
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
;Delete all shortcuts
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
|
||||
|
||||
;Delete Start Menu shortcuts
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\${Product}.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\$(MSG_HOME_URL_TITLE).url"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\$(MSG_SUPPORT_URL_TITLE).url"
|
||||
RMDir /r /REBOOTOK "$SMPROGRAMS\$MUI_TEMP"
|
||||
|
||||
;Delete desktop shortcut
|
||||
Delete "$DESKTOP\${Product}.lnk"
|
||||
|
||||
;Delete registry
|
||||
DeleteRegKey /ifempty "${RegistryCat}" "${RegistryKey}"
|
||||
DeleteRegKey "${RegistryCat}" "${UninstallRegistryKey}"
|
||||
SectionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Installer Functions
|
||||
|
||||
Function .onInit
|
||||
!insertmacro MUI_LANGDLL_DISPLAY
|
||||
FunctionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Uninstaller Functions
|
||||
|
||||
Function un.onInit
|
||||
!insertmacro MUI_UNGETLANGUAGE
|
||||
FunctionEnd
|
||||
;--------------------------------
|
||||
;Include Modern UI
|
||||
!include "MUI2.nsh"
|
||||
|
||||
;--------------------------------
|
||||
;General
|
||||
!define Company "Nevrax"
|
||||
!define Product "Ryzom"
|
||||
!define Version "2.1.0"
|
||||
!define Patch "661"
|
||||
!define RegistryCat "HKLM"
|
||||
!define RegistryKey "Software\${Company}\${Product}"
|
||||
!define Executable "client_ryzom_rd.exe"
|
||||
!define DstDir "Output"
|
||||
!define SrcDir "Ryzom"
|
||||
!define Installer "ryzom_setup_${Patch}.exe"
|
||||
|
||||
;Registry key for uninstaller
|
||||
!define UninstallRegistryRoot "Software\Microsoft\Windows\CurrentVersion\Uninstall"
|
||||
!define UninstallRegistryKey "${UninstallRegistryRoot}\${Product}"
|
||||
|
||||
;Properly display all languages (Installer will not work on Windows 95, 98 or ME!)
|
||||
Unicode true
|
||||
|
||||
;New XP style
|
||||
XPStyle on
|
||||
|
||||
;Name and file
|
||||
Name "${Product}"
|
||||
OutFile "${DstDir}\${Installer}"
|
||||
|
||||
;Default installation folder
|
||||
InstallDir "$PROGRAMFILES\${Product}"
|
||||
|
||||
;Get installation folder from registry if available
|
||||
InstallDirRegKey "${RegistryCat}" "${RegistryKey}" "${Product} Install Path"
|
||||
|
||||
;Request application privileges for Windows Vista
|
||||
RequestExecutionLevel admin
|
||||
|
||||
;Best compression
|
||||
SetCompressor LZMA
|
||||
|
||||
; ???
|
||||
AllowSkipFiles on
|
||||
|
||||
;--------------------------------
|
||||
;Variables
|
||||
|
||||
;Will be used later
|
||||
Var MUI_TEMP
|
||||
Var STARTMENU_FOLDER
|
||||
|
||||
;--------------------------------
|
||||
;Interface Settings
|
||||
|
||||
!define MUI_ICON "${SrcDir}\ryzom.ico"
|
||||
!define MUI_UNICON "${SrcDir}\ryzom.ico"
|
||||
!define MUI_HEADERIMAGE
|
||||
!define MUI_HEADERIMAGE_BITMAP "modern-header.bmp" ; optional
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "modern-wizard.bmp"
|
||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "modern-wizard.bmp"
|
||||
!define MUI_ABORTWARNING
|
||||
|
||||
;Show all languages, despite user's codepage
|
||||
!define MUI_LANGDLL_ALLLANGUAGES
|
||||
|
||||
;--------------------------------
|
||||
;Language Selection Dialog Settings
|
||||
|
||||
;Remember the installer language
|
||||
!define MUI_LANGDLL_REGISTRY_ROOT "${RegistryCat}"
|
||||
!define MUI_LANGDLL_REGISTRY_KEY "${RegistryKey}"
|
||||
!define MUI_LANGDLL_REGISTRY_VALUENAME "Language"
|
||||
|
||||
;--------------------------------
|
||||
;Pages
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
|
||||
;Start Menu Folder Page Configuration
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${RegistryCat}"
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_KEY "${RegistryKey}"
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
|
||||
|
||||
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
|
||||
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\${Executable}"
|
||||
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
!insertmacro MUI_UNPAGE_WELCOME
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
!insertmacro MUI_UNPAGE_FINISH
|
||||
|
||||
;--------------------------------
|
||||
;Languages
|
||||
|
||||
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
|
||||
!insertmacro MUI_LANGUAGE "French"
|
||||
!insertmacro MUI_LANGUAGE "German"
|
||||
;!insertmacro MUI_LANGUAGE "Spanish"
|
||||
|
||||
;--------------------------------
|
||||
;Reserve Files
|
||||
|
||||
;If you are using solid compression, files that are required before
|
||||
;the actual installation should be stored first in the data block,
|
||||
;because this will make your installer start faster.
|
||||
|
||||
!insertmacro MUI_RESERVEFILE_LANGDLL
|
||||
|
||||
;--------------------------------
|
||||
;Descriptions
|
||||
|
||||
;French
|
||||
LangString MSG_SUPPORT_URL_TITLE ${LANG_FRENCH} "Support"
|
||||
LangString MSG_SUPPORT_URL ${LANG_FRENCH} "http://app.ryzom.com/app_forum/index.php?page=topic/view/22047/1&post149889=fr#1"
|
||||
LangString MSG_HOME_URL_TITLE ${LANG_FRENCH} "${Product} sur le Web"
|
||||
LangString MSG_HOME_URL ${LANG_FRENCH} "http://ryzom.fr"
|
||||
LangString MSG_CONFIRM_DELETE_BACKUPS ${LANG_FRENCH} "Voulez-vous supprimer vos fichiers de sauvegarde ? Appuyer sur Oui pour effacer vos fichiers de sauvegarde."
|
||||
|
||||
;English
|
||||
LangString MSG_SUPPORT_URL_TITLE ${LANG_ENGLISH} "Support"
|
||||
LangString MSG_SUPPORT_URL ${LANG_ENGLISH} "http://app.ryzom.com/app_forum/index.php?page=topic/view/22047/1&post149889=en#1"
|
||||
LangString MSG_HOME_URL_TITLE ${LANG_ENGLISH} "${Product} on the Web"
|
||||
LangString MSG_HOME_URL ${LANG_ENGLISH} "http://ryzom.com"
|
||||
LangString MSG_CONFIRM_DELETE_BACKUPS ${LANG_ENGLISH} "Deleting Save Files? Click Yes to delete your own save files."
|
||||
|
||||
;German
|
||||
LangString MSG_SUPPORT_URL_TITLE ${LANG_GERMAN} "Support"
|
||||
LangString MSG_SUPPORT_URL ${LANG_GERMAN} "http://app.ryzom.com/app_forum/index.php?page=topic/view/22047/1&post149889=de#1"
|
||||
LangString MSG_HOME_URL_TITLE ${LANG_GERMAN} "${Product} im Internet"
|
||||
LangString MSG_HOME_URL ${LANG_GERMAN} "http://ryzom.de"
|
||||
LangString MSG_CONFIRM_DELETE_BACKUPS ${LANG_GERMAN} "Gespeicherte Dateien löschen? Klicke Ja um die eigenen Dateien zu löschen."
|
||||
|
||||
;--------------------------------
|
||||
;Installer Sections
|
||||
|
||||
!macro CreateInternetShortcut FILENAME URL ICONFILE
|
||||
WriteINIStr "${FILENAME}.url" "InternetShortcut" "URL" "${URL}"
|
||||
WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconFile" "${ICONFILE}"
|
||||
WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconIndex" "0"
|
||||
!macroend
|
||||
|
||||
; ----------------------------------------
|
||||
; Default section
|
||||
Section
|
||||
;Install for All Users
|
||||
SetShellVarContext all
|
||||
|
||||
;Game directories
|
||||
SetOutPath "$INSTDIR\cfg"
|
||||
File /r "${SrcDir}\cfg\*.*"
|
||||
|
||||
SetOutPath "$INSTDIR\data"
|
||||
File /r "${SrcDir}\data\*.*"
|
||||
|
||||
SetOutPath "$INSTDIR\examples"
|
||||
File /r "${SrcDir}\examples\*.*"
|
||||
|
||||
SetOutPath "$INSTDIR\user"
|
||||
File /r "${SrcDir}\user\*.*"
|
||||
|
||||
SetOutPath "$INSTDIR"
|
||||
|
||||
;Client, configuration and misc files
|
||||
File "${SrcDir}\client_default.cfg"
|
||||
File "${SrcDir}\${Executable}"
|
||||
File "${SrcDir}\configure.bat"
|
||||
File "${SrcDir}\d3dcompiler_43.dll"
|
||||
File "${SrcDir}\d3dx9_43.dll"
|
||||
File "${SrcDir}\fmod.dll"
|
||||
File "${SrcDir}\forum.url"
|
||||
File "${SrcDir}\launch.bat"
|
||||
File "${SrcDir}\msvcp100.dll"
|
||||
File "${SrcDir}\msvcr100.dll"
|
||||
File "${SrcDir}\nel_drv_direct3d_win_r.dll"
|
||||
File "${SrcDir}\nel_drv_fmod_win_r.dll"
|
||||
File "${SrcDir}\nel_drv_opengl_win_r.dll"
|
||||
File "${SrcDir}\ryzom.ico"
|
||||
File "${SrcDir}\ryzom.url"
|
||||
File "${SrcDir}\Ryzom6.ico"
|
||||
|
||||
;Create uninstaller
|
||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
|
||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
|
||||
|
||||
;Create shortcuts in Start Menu
|
||||
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
|
||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\${Product}.lnk" "$INSTDIR\${Executable}"
|
||||
|
||||
;Create URLs
|
||||
!insertmacro CreateInternetShortcut "$SMPROGRAMS\$STARTMENU_FOLDER\$(MSG_SUPPORT_URL_TITLE)" "$(MSG_SUPPORT_URL)" "$INSTDIR\ryzom.ico"
|
||||
!insertmacro CreateInternetShortcut "$SMPROGRAMS\$STARTMENU_FOLDER\$(MSG_HOME_URL_TITLE)" "$(MSG_HOME_URL)" "$INSTDIR\ryzom.ico"
|
||||
|
||||
!insertmacro MUI_STARTMENU_WRITE_END
|
||||
|
||||
;Shortcut on desktop
|
||||
CreateShortCut "$DESKTOP\${Product}.lnk" "$INSTDIR\${Executable}"
|
||||
|
||||
;Add/Remove Program entry
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "DisplayIcon" "$INSTDIR\${Executable},0"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "DisplayName" "${Product}"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "DisplayVersion" "${Version}"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "InstallLocation" "$INSTDIR"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "QuietUninstallString" '"$INSTDIR\Uninstall.exe" /S'
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "UninstallString" "$INSTDIR\Uninstall.exe"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "Publisher" "${Company}"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "HelpLink" "$(MSG_SUPPORT_URL)"
|
||||
WriteRegStr HKLM "${UninstallRegistryKey}" "URLInfoAbout" "$(MSG_HOME_URL)"
|
||||
|
||||
;Store installation folder
|
||||
WriteRegStr "${RegistryCat}" "${RegistryKey}" "${Product} Install Path" $INSTDIR
|
||||
SectionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Uninstaller Section
|
||||
Section "Uninstall"
|
||||
;Install for All Users
|
||||
SetShellVarContext all
|
||||
|
||||
;Game directories
|
||||
RMDir /r "$INSTDIR\cfg"
|
||||
RMDir /r "$INSTDIR\data"
|
||||
RMDir /r "$INSTDIR\examples"
|
||||
|
||||
;Temporary directories
|
||||
RMDir /r "$INSTDIR\cache"
|
||||
RMDir /r "$INSTDIR\unpack"
|
||||
|
||||
;Client, configuration and misc files
|
||||
Delete "$INSTDIR\client_default.cfg"
|
||||
Delete "$INSTDIR\${Executable}"
|
||||
Delete "$INSTDIR\configure.bat"
|
||||
Delete "$INSTDIR\d3dcompiler_43.dll"
|
||||
Delete "$INSTDIR\d3dx9_43.dll"
|
||||
Delete "$INSTDIR\fmod.dll"
|
||||
Delete "$INSTDIR\forum.url"
|
||||
Delete "$INSTDIR\launch.bat"
|
||||
Delete "$INSTDIR\msvcp100.dll"
|
||||
Delete "$INSTDIR\msvcr100.dll"
|
||||
Delete "$INSTDIR\nel_drv_direct3d_win_r.dll"
|
||||
Delete "$INSTDIR\nel_drv_fmod_win_r.dll"
|
||||
Delete "$INSTDIR\nel_drv_opengl_win_r.dll"
|
||||
Delete "$INSTDIR\ryzom.ico"
|
||||
Delete "$INSTDIR\ryzom.url"
|
||||
Delete "$INSTDIR\Ryzom6.ico"
|
||||
|
||||
;Delete uninstaller
|
||||
Delete "$INSTDIR\Uninstall.exe"
|
||||
|
||||
MessageBox MB_YESNO "$(MSG_CONFIRM_DELETE_BACKUPS)" IDNO DontDeleteMiscFiles
|
||||
|
||||
;Delete directory
|
||||
RMDir /r "$INSTDIR"
|
||||
|
||||
DontDeleteMiscFiles:
|
||||
|
||||
;Delete directory if empty
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
;Delete all shortcuts
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
|
||||
|
||||
;Delete Start Menu shortcuts
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\${Product}.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\$(MSG_HOME_URL_TITLE).url"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\$(MSG_SUPPORT_URL_TITLE).url"
|
||||
RMDir /r /REBOOTOK "$SMPROGRAMS\$MUI_TEMP"
|
||||
|
||||
;Delete desktop shortcut
|
||||
Delete "$DESKTOP\${Product}.lnk"
|
||||
|
||||
;Delete registry
|
||||
DeleteRegKey /ifempty "${RegistryCat}" "${RegistryKey}"
|
||||
DeleteRegKey "${RegistryCat}" "${UninstallRegistryKey}"
|
||||
SectionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Installer Functions
|
||||
|
||||
Function .onInit
|
||||
!insertmacro MUI_LANGDLL_DISPLAY
|
||||
FunctionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Uninstaller Functions
|
||||
|
||||
Function un.onInit
|
||||
!insertmacro MUI_UNGETLANGUAGE
|
||||
FunctionEnd
|
||||
|
@ -1,94 +1,94 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 1_export.py
|
||||
# \brief Run all export processes
|
||||
# \date 2009-02-18 09:22GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all export processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util, argparse
|
||||
sys.path.append("configuration")
|
||||
|
||||
parser = argparse.ArgumentParser(description='Ryzom Core - Build Gamedata - Export')
|
||||
# parser.add_argument('--haltonerror', '-eh', action='store_true')
|
||||
parser.add_argument('--includeproject', '-ipj', nargs='+')
|
||||
parser.add_argument('--excludeproject', '-epj', nargs='+')
|
||||
parser.add_argument('--includeprocess', '-ipc', nargs='+')
|
||||
parser.add_argument('--excludeprocess', '-epc', nargs='+')
|
||||
args = parser.parse_args()
|
||||
|
||||
if not args.includeproject == None and not args.excludeproject == None:
|
||||
print "ERROR --includeproject cannot be combined with --excludeproject, exit."
|
||||
exit()
|
||||
|
||||
if not args.includeprocess == None and not args.excludeprocess == None:
|
||||
print "ERROR --includeprocess cannot be combined with --excludeprocess, exit."
|
||||
exit()
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Run the export processes")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
# For each project
|
||||
for projectName in ProjectsToProcess:
|
||||
if ((args.includeproject == None or projectName in args.includeproject) and (args.excludeproject == None or not projectName in args.excludeproject)):
|
||||
printLog(log, "PROJECT " + projectName)
|
||||
os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName))
|
||||
os.chdir("processes")
|
||||
try:
|
||||
if not args.includeprocess == None:
|
||||
subprocess.call([ "python", "1_export.py", "--includeprocess" ] + args.includeprocess)
|
||||
elif not args.excludeprocess == None:
|
||||
subprocess.call([ "python", "1_export.py", "--excludeprocess" ] + args.excludeprocess)
|
||||
else:
|
||||
subprocess.call([ "python", "1_export.py" ])
|
||||
except Exception, e:
|
||||
printLog(log, "<" + projectName + "> " + str(e))
|
||||
os.chdir("..")
|
||||
try:
|
||||
projectLog = open("processes/log.log", "r")
|
||||
projectLogData = projectLog.read()
|
||||
projectLog.close()
|
||||
log.write(projectLogData)
|
||||
except Exception, e:
|
||||
printLog(log, "<" + projectName + "> " + str(e))
|
||||
else:
|
||||
printLog(log, "IGNORE PROJECT " + projectName)
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("1_export.log"):
|
||||
os.remove("1_export.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_export.log")
|
||||
shutil.move("log.log", "1_export.log")
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 1_export.py
|
||||
# \brief Run all export processes
|
||||
# \date 2009-02-18 09:22GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all export processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util, argparse
|
||||
sys.path.append("configuration")
|
||||
|
||||
parser = argparse.ArgumentParser(description='Ryzom Core - Build Gamedata - Export')
|
||||
# parser.add_argument('--haltonerror', '-eh', action='store_true')
|
||||
parser.add_argument('--includeproject', '-ipj', nargs='+')
|
||||
parser.add_argument('--excludeproject', '-epj', nargs='+')
|
||||
parser.add_argument('--includeprocess', '-ipc', nargs='+')
|
||||
parser.add_argument('--excludeprocess', '-epc', nargs='+')
|
||||
args = parser.parse_args()
|
||||
|
||||
if not args.includeproject == None and not args.excludeproject == None:
|
||||
print "ERROR --includeproject cannot be combined with --excludeproject, exit."
|
||||
exit()
|
||||
|
||||
if not args.includeprocess == None and not args.excludeprocess == None:
|
||||
print "ERROR --includeprocess cannot be combined with --excludeprocess, exit."
|
||||
exit()
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Run the export processes")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
# For each project
|
||||
for projectName in ProjectsToProcess:
|
||||
if ((args.includeproject == None or projectName in args.includeproject) and (args.excludeproject == None or not projectName in args.excludeproject)):
|
||||
printLog(log, "PROJECT " + projectName)
|
||||
os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName))
|
||||
os.chdir("processes")
|
||||
try:
|
||||
if not args.includeprocess == None:
|
||||
subprocess.call([ "python", "1_export.py", "--includeprocess" ] + args.includeprocess)
|
||||
elif not args.excludeprocess == None:
|
||||
subprocess.call([ "python", "1_export.py", "--excludeprocess" ] + args.excludeprocess)
|
||||
else:
|
||||
subprocess.call([ "python", "1_export.py" ])
|
||||
except Exception, e:
|
||||
printLog(log, "<" + projectName + "> " + str(e))
|
||||
os.chdir("..")
|
||||
try:
|
||||
projectLog = open("processes/log.log", "r")
|
||||
projectLogData = projectLog.read()
|
||||
projectLog.close()
|
||||
log.write(projectLogData)
|
||||
except Exception, e:
|
||||
printLog(log, "<" + projectName + "> " + str(e))
|
||||
else:
|
||||
printLog(log, "IGNORE PROJECT " + projectName)
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("1_export.log"):
|
||||
os.remove("1_export.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_export.log")
|
||||
shutil.move("log.log", "1_export.log")
|
||||
|
@ -1,94 +1,94 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 2_build.py
|
||||
# \brief Run all build processes
|
||||
# \date 2009-02-18 09:22GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all build processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util, argparse
|
||||
sys.path.append("configuration")
|
||||
|
||||
parser = argparse.ArgumentParser(description='Ryzom Core - Build Gamedata - Build')
|
||||
# parser.add_argument('--haltonerror', '-eh', action='store_true')
|
||||
parser.add_argument('--includeproject', '-ipj', nargs='+')
|
||||
parser.add_argument('--excludeproject', '-epj', nargs='+')
|
||||
parser.add_argument('--includeprocess', '-ipc', nargs='+')
|
||||
parser.add_argument('--excludeprocess', '-epc', nargs='+')
|
||||
args = parser.parse_args()
|
||||
|
||||
if not args.includeproject == None and not args.excludeproject == None:
|
||||
print "ERROR --includeproject cannot be combined with --excludeproject, exit."
|
||||
exit()
|
||||
|
||||
if not args.includeprocess == None and not args.excludeprocess == None:
|
||||
print "ERROR --includeprocess cannot be combined with --excludeprocess, exit."
|
||||
exit()
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Run the build processes")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
# For each project
|
||||
for projectName in ProjectsToProcess:
|
||||
if ((args.includeproject == None or projectName in args.includeproject) and (args.excludeproject == None or not projectName in args.excludeproject)):
|
||||
printLog(log, "PROJECT " + projectName)
|
||||
os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName))
|
||||
os.chdir("processes")
|
||||
try:
|
||||
if not args.includeprocess == None:
|
||||
subprocess.call([ "python", "2_build.py", "--includeprocess" ] + args.includeprocess)
|
||||
elif not args.excludeprocess == None:
|
||||
subprocess.call([ "python", "2_build.py", "--excludeprocess" ] + args.excludeprocess)
|
||||
else:
|
||||
subprocess.call([ "python", "2_build.py" ])
|
||||
except Exception, e:
|
||||
printLog(log, "<" + projectName + "> " + str(e))
|
||||
os.chdir("..")
|
||||
try:
|
||||
projectLog = open("processes/log.log", "r")
|
||||
projectLogData = projectLog.read()
|
||||
projectLog.close()
|
||||
log.write(projectLogData)
|
||||
except Exception, e:
|
||||
printLog(log, "<" + projectName + "> " + str(e))
|
||||
else:
|
||||
printLog(log, "IGNORE PROJECT " + projectName)
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("2_build.log"):
|
||||
os.remove("2_build.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_build.log")
|
||||
shutil.move("log.log", "2_build.log")
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 2_build.py
|
||||
# \brief Run all build processes
|
||||
# \date 2009-02-18 09:22GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all build processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util, argparse
|
||||
sys.path.append("configuration")
|
||||
|
||||
parser = argparse.ArgumentParser(description='Ryzom Core - Build Gamedata - Build')
|
||||
# parser.add_argument('--haltonerror', '-eh', action='store_true')
|
||||
parser.add_argument('--includeproject', '-ipj', nargs='+')
|
||||
parser.add_argument('--excludeproject', '-epj', nargs='+')
|
||||
parser.add_argument('--includeprocess', '-ipc', nargs='+')
|
||||
parser.add_argument('--excludeprocess', '-epc', nargs='+')
|
||||
args = parser.parse_args()
|
||||
|
||||
if not args.includeproject == None and not args.excludeproject == None:
|
||||
print "ERROR --includeproject cannot be combined with --excludeproject, exit."
|
||||
exit()
|
||||
|
||||
if not args.includeprocess == None and not args.excludeprocess == None:
|
||||
print "ERROR --includeprocess cannot be combined with --excludeprocess, exit."
|
||||
exit()
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Run the build processes")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
# For each project
|
||||
for projectName in ProjectsToProcess:
|
||||
if ((args.includeproject == None or projectName in args.includeproject) and (args.excludeproject == None or not projectName in args.excludeproject)):
|
||||
printLog(log, "PROJECT " + projectName)
|
||||
os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName))
|
||||
os.chdir("processes")
|
||||
try:
|
||||
if not args.includeprocess == None:
|
||||
subprocess.call([ "python", "2_build.py", "--includeprocess" ] + args.includeprocess)
|
||||
elif not args.excludeprocess == None:
|
||||
subprocess.call([ "python", "2_build.py", "--excludeprocess" ] + args.excludeprocess)
|
||||
else:
|
||||
subprocess.call([ "python", "2_build.py" ])
|
||||
except Exception, e:
|
||||
printLog(log, "<" + projectName + "> " + str(e))
|
||||
os.chdir("..")
|
||||
try:
|
||||
projectLog = open("processes/log.log", "r")
|
||||
projectLogData = projectLog.read()
|
||||
projectLog.close()
|
||||
log.write(projectLogData)
|
||||
except Exception, e:
|
||||
printLog(log, "<" + projectName + "> " + str(e))
|
||||
else:
|
||||
printLog(log, "IGNORE PROJECT " + projectName)
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("2_build.log"):
|
||||
os.remove("2_build.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_build.log")
|
||||
shutil.move("log.log", "2_build.log")
|
||||
|
@ -1,94 +1,94 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 3_install.py
|
||||
# \brief Run all install processes
|
||||
# \date 2009-02-18 16:19GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all install processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util, argparse
|
||||
sys.path.append("configuration")
|
||||
|
||||
parser = argparse.ArgumentParser(description='Ryzom Core - Build Gamedata - Install')
|
||||
# parser.add_argument('--haltonerror', '-eh', action='store_true')
|
||||
parser.add_argument('--includeproject', '-ipj', nargs='+')
|
||||
parser.add_argument('--excludeproject', '-epj', nargs='+')
|
||||
parser.add_argument('--includeprocess', '-ipc', nargs='+')
|
||||
parser.add_argument('--excludeprocess', '-epc', nargs='+')
|
||||
args = parser.parse_args()
|
||||
|
||||
if not args.includeproject == None and not args.excludeproject == None:
|
||||
print "ERROR --includeproject cannot be combined with --excludeproject, exit."
|
||||
exit()
|
||||
|
||||
if not args.includeprocess == None and not args.excludeprocess == None:
|
||||
print "ERROR --includeprocess cannot be combined with --excludeprocess, exit."
|
||||
exit()
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Run the install processes")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
# For each project
|
||||
for projectName in ProjectsToProcess:
|
||||
if ((args.includeproject == None or projectName in args.includeproject) and (args.excludeproject == None or not projectName in args.excludeproject)):
|
||||
printLog(log, "PROJECT " + projectName)
|
||||
os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName))
|
||||
os.chdir("processes")
|
||||
try:
|
||||
if not args.includeprocess == None:
|
||||
subprocess.call([ "python", "3_install.py", "--includeprocess" ] + args.includeprocess)
|
||||
elif not args.excludeprocess == None:
|
||||
subprocess.call([ "python", "3_install.py", "--excludeprocess" ] + args.excludeprocess)
|
||||
else:
|
||||
subprocess.call([ "python", "3_install.py" ])
|
||||
except Exception, e:
|
||||
printLog(log, "<" + projectName + "> " + str(e))
|
||||
os.chdir("..")
|
||||
try:
|
||||
projectLog = open("processes/log.log", "r")
|
||||
projectLogData = projectLog.read()
|
||||
projectLog.close()
|
||||
log.write(projectLogData)
|
||||
except Exception, e:
|
||||
printLog(log, "<" + projectName + "> " + str(e))
|
||||
else:
|
||||
printLog(log, "IGNORE PROJECT " + projectName)
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("3_install.log"):
|
||||
os.remove("3_install.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_install.log")
|
||||
shutil.move("log.log", "3_install.log")
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 3_install.py
|
||||
# \brief Run all install processes
|
||||
# \date 2009-02-18 16:19GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all install processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util, argparse
|
||||
sys.path.append("configuration")
|
||||
|
||||
parser = argparse.ArgumentParser(description='Ryzom Core - Build Gamedata - Install')
|
||||
# parser.add_argument('--haltonerror', '-eh', action='store_true')
|
||||
parser.add_argument('--includeproject', '-ipj', nargs='+')
|
||||
parser.add_argument('--excludeproject', '-epj', nargs='+')
|
||||
parser.add_argument('--includeprocess', '-ipc', nargs='+')
|
||||
parser.add_argument('--excludeprocess', '-epc', nargs='+')
|
||||
args = parser.parse_args()
|
||||
|
||||
if not args.includeproject == None and not args.excludeproject == None:
|
||||
print "ERROR --includeproject cannot be combined with --excludeproject, exit."
|
||||
exit()
|
||||
|
||||
if not args.includeprocess == None and not args.excludeprocess == None:
|
||||
print "ERROR --includeprocess cannot be combined with --excludeprocess, exit."
|
||||
exit()
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Run the install processes")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
# For each project
|
||||
for projectName in ProjectsToProcess:
|
||||
if ((args.includeproject == None or projectName in args.includeproject) and (args.excludeproject == None or not projectName in args.excludeproject)):
|
||||
printLog(log, "PROJECT " + projectName)
|
||||
os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName))
|
||||
os.chdir("processes")
|
||||
try:
|
||||
if not args.includeprocess == None:
|
||||
subprocess.call([ "python", "3_install.py", "--includeprocess" ] + args.includeprocess)
|
||||
elif not args.excludeprocess == None:
|
||||
subprocess.call([ "python", "3_install.py", "--excludeprocess" ] + args.excludeprocess)
|
||||
else:
|
||||
subprocess.call([ "python", "3_install.py" ])
|
||||
except Exception, e:
|
||||
printLog(log, "<" + projectName + "> " + str(e))
|
||||
os.chdir("..")
|
||||
try:
|
||||
projectLog = open("processes/log.log", "r")
|
||||
projectLogData = projectLog.read()
|
||||
projectLog.close()
|
||||
log.write(projectLogData)
|
||||
except Exception, e:
|
||||
printLog(log, "<" + projectName + "> " + str(e))
|
||||
else:
|
||||
printLog(log, "IGNORE PROJECT " + projectName)
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("3_install.log"):
|
||||
os.remove("3_install.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_install.log")
|
||||
shutil.move("log.log", "3_install.log")
|
||||
|
@ -1,181 +1,181 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 9_upload.py
|
||||
# \brief Upload data to servers
|
||||
# \date 2009-02-18 16:19GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Game data build pipeline.
|
||||
# Upload data to servers
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2011 Kaetemi
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
try:
|
||||
from upload import *
|
||||
except ImportError:
|
||||
# Not documenting this. Because we can.
|
||||
printLog(log, "ERROR Upload not configured, bye.")
|
||||
exit()
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Upload data to servers")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Find tools
|
||||
# Not documenting this. Because we can.
|
||||
Psftp = findFileMultiDir(log, ToolDirectories + WindowsExeDllCfgDirectories, UploadPsftpTool)
|
||||
printLog(log, "PSFTP " + Psftp)
|
||||
|
||||
def downloadVersionTag(server, user, sshkey, dir):
|
||||
if os.path.isfile("upload.tag"):
|
||||
os.remove("upload.tag")
|
||||
if os.path.isfile("upload.batch"):
|
||||
os.remove("upload.batch")
|
||||
ub = open("upload.batch", "w")
|
||||
ub.write("cd " + dir + "\n")
|
||||
ub.write("get upload.tag upload.tag\n")
|
||||
ub.write("quit\n")
|
||||
ub.close()
|
||||
subprocess.call([ Psftp, "-b", "upload.batch", "-i", sshkey, user + "@" + server ])
|
||||
os.remove("upload.batch")
|
||||
if os.path.isfile("upload.tag"):
|
||||
ft = open("upload.tag")
|
||||
result = float(ft.read()) # float, really
|
||||
ft.close()
|
||||
os.remove("upload.tag")
|
||||
printLog(log, "INFO Upload tag is " + str(result))
|
||||
return result
|
||||
else:
|
||||
printLog(log, "WARNING Upload tag not found, uploading everything")
|
||||
return 0
|
||||
|
||||
def isDirectoryNeeded(ft, dir):
|
||||
files = os.listdir(dir)
|
||||
for fileName in files:
|
||||
if isLegalFileName(fileName):
|
||||
fileFull = dir + "/" + fileName
|
||||
if os.path.isfile(fileFull):
|
||||
nftf = os.stat(fileFull).st_mtime
|
||||
if nftf > ft:
|
||||
return True
|
||||
elif os.path.isdir(fileFull):
|
||||
if isDirectoryNeeded(ft, fileFull):
|
||||
return True
|
||||
elif not os.path.isdir(fileFull):
|
||||
printLog(log, "isDirectoryNeeded: file not dir or file?!" + fileFull)
|
||||
return False
|
||||
|
||||
def listDirectoryUpload(ft, ub, udb, dir):
|
||||
nft = 0
|
||||
files = os.listdir(dir)
|
||||
for fileName in files:
|
||||
if isLegalFileName(fileName):
|
||||
fileFull = dir + "/" + fileName
|
||||
if os.path.isfile(fileFull):
|
||||
nftf = os.stat(fileFull).st_mtime
|
||||
if nftf > ft:
|
||||
ub.write("put " + fileFull + " " + fileName + "\n")
|
||||
if nftf > nft:
|
||||
nft = nftf
|
||||
elif os.path.isdir(fileFull):
|
||||
if isDirectoryNeeded(ft, fileFull):
|
||||
udb.write("mkdir " + fileName + "\n")
|
||||
ub.write("cd " + fileName + "\n")
|
||||
udb.write("cd " + fileName + "\n")
|
||||
nft2 = listDirectoryUpload(ft, ub, udb, fileFull)
|
||||
if (nft2 > nft):
|
||||
nft = nft2
|
||||
ub.write("cd ..\n")
|
||||
udb.write("cd ..\n")
|
||||
elif not os.path.isdir(fileFull):
|
||||
printLog(log, "listDirectoryUpload: file not dir or file?!" + fileFull)
|
||||
return nft
|
||||
|
||||
def uploadSftp(server, user, sshkey, dir_to, dir_from, addcmd):
|
||||
ft = downloadVersionTag(server, user, sshkey, dir_to)
|
||||
if isDirectoryNeeded(ft, dir_from):
|
||||
if os.path.isfile("upload_dir.batch"):
|
||||
os.remove("upload_dir.batch")
|
||||
if os.path.isfile("upload.batch"):
|
||||
os.remove("upload.batch")
|
||||
udb = open("upload_dir.batch", "w")
|
||||
udb.write("cd " + dir_to + "\n")
|
||||
ub = open("upload.batch", "w")
|
||||
ub.write("cd " + dir_to + "\n")
|
||||
for ac in addcmd:
|
||||
ub.write(ac + "\n")
|
||||
ftn = listDirectoryUpload(ft, ub, udb, dir_from)
|
||||
if (ft > ftn):
|
||||
ftn = ft
|
||||
nft = open("upload.tag", "w")
|
||||
nft.write(str(ftn))
|
||||
nft.close()
|
||||
ub.write("put upload.tag upload.tag\n")
|
||||
ub.write("quit\n")
|
||||
ub.close()
|
||||
udb.write("quit\n")
|
||||
udb.close()
|
||||
subprocess.call([ Psftp, "-be", "-b", "upload_dir.batch", "-i", sshkey, user + "@" + server ])
|
||||
subprocess.call([ Psftp, "-b", "upload.batch", "-i", sshkey, user + "@" + server ])
|
||||
os.remove("upload_dir.batch")
|
||||
os.remove("upload.batch")
|
||||
os.remove("upload.tag")
|
||||
else:
|
||||
printLog(log, "SKIP " + dir_to)
|
||||
|
||||
printLog(log, ">>> Upload patch <<<")
|
||||
for target in UploadPatch:
|
||||
uploadSftp(target[0], target[1], target[2], target[3], ClientPatchDirectory + "/patch", [ ])
|
||||
|
||||
printLog(log, ">>> Upload data_shard <<<")
|
||||
for target in UploadShard:
|
||||
uploadSftp(target[0], target[1], target[2], target[3], DataShardDirectory, [ "rm *.packed_sheets", "rm primitive_cache/*.binprim" ])
|
||||
|
||||
printLog(log, ">>> Upload data_common <<<")
|
||||
for target in UploadCommon:
|
||||
uploadSftp(target[0], target[1], target[2], target[3], DataCommonDirectory, [ ])
|
||||
|
||||
printLog(log, ">>> Upload data_leveldesign/leveldesign <<<")
|
||||
for target in UploadLeveldesign:
|
||||
uploadSftp(target[0], target[1], target[2], target[3], LeveldesignDirectory, [ ])
|
||||
|
||||
printLog(log, ">>> Upload data_leveldesign/primitives <<<")
|
||||
for target in UploadPrimitives:
|
||||
uploadSftp(target[0], target[1], target[2], target[3], PrimitivesDirectory, [ ])
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("9_upload.log"):
|
||||
os.remove("9_upload.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_upload.log")
|
||||
shutil.move("log.log", "9_upload.log")
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 9_upload.py
|
||||
# \brief Upload data to servers
|
||||
# \date 2009-02-18 16:19GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Game data build pipeline.
|
||||
# Upload data to servers
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2011 Kaetemi
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
try:
|
||||
from upload import *
|
||||
except ImportError:
|
||||
# Not documenting this. Because we can.
|
||||
printLog(log, "ERROR Upload not configured, bye.")
|
||||
exit()
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Upload data to servers")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Find tools
|
||||
# Not documenting this. Because we can.
|
||||
Psftp = findFileMultiDir(log, ToolDirectories + WindowsExeDllCfgDirectories, UploadPsftpTool)
|
||||
printLog(log, "PSFTP " + Psftp)
|
||||
|
||||
def downloadVersionTag(server, user, sshkey, dir):
|
||||
if os.path.isfile("upload.tag"):
|
||||
os.remove("upload.tag")
|
||||
if os.path.isfile("upload.batch"):
|
||||
os.remove("upload.batch")
|
||||
ub = open("upload.batch", "w")
|
||||
ub.write("cd " + dir + "\n")
|
||||
ub.write("get upload.tag upload.tag\n")
|
||||
ub.write("quit\n")
|
||||
ub.close()
|
||||
subprocess.call([ Psftp, "-b", "upload.batch", "-i", sshkey, user + "@" + server ])
|
||||
os.remove("upload.batch")
|
||||
if os.path.isfile("upload.tag"):
|
||||
ft = open("upload.tag")
|
||||
result = float(ft.read()) # float, really
|
||||
ft.close()
|
||||
os.remove("upload.tag")
|
||||
printLog(log, "INFO Upload tag is " + str(result))
|
||||
return result
|
||||
else:
|
||||
printLog(log, "WARNING Upload tag not found, uploading everything")
|
||||
return 0
|
||||
|
||||
def isDirectoryNeeded(ft, dir):
|
||||
files = os.listdir(dir)
|
||||
for fileName in files:
|
||||
if isLegalFileName(fileName):
|
||||
fileFull = dir + "/" + fileName
|
||||
if os.path.isfile(fileFull):
|
||||
nftf = os.stat(fileFull).st_mtime
|
||||
if nftf > ft:
|
||||
return True
|
||||
elif os.path.isdir(fileFull):
|
||||
if isDirectoryNeeded(ft, fileFull):
|
||||
return True
|
||||
elif not os.path.isdir(fileFull):
|
||||
printLog(log, "isDirectoryNeeded: file not dir or file?!" + fileFull)
|
||||
return False
|
||||
|
||||
def listDirectoryUpload(ft, ub, udb, dir):
|
||||
nft = 0
|
||||
files = os.listdir(dir)
|
||||
for fileName in files:
|
||||
if isLegalFileName(fileName):
|
||||
fileFull = dir + "/" + fileName
|
||||
if os.path.isfile(fileFull):
|
||||
nftf = os.stat(fileFull).st_mtime
|
||||
if nftf > ft:
|
||||
ub.write("put " + fileFull + " " + fileName + "\n")
|
||||
if nftf > nft:
|
||||
nft = nftf
|
||||
elif os.path.isdir(fileFull):
|
||||
if isDirectoryNeeded(ft, fileFull):
|
||||
udb.write("mkdir " + fileName + "\n")
|
||||
ub.write("cd " + fileName + "\n")
|
||||
udb.write("cd " + fileName + "\n")
|
||||
nft2 = listDirectoryUpload(ft, ub, udb, fileFull)
|
||||
if (nft2 > nft):
|
||||
nft = nft2
|
||||
ub.write("cd ..\n")
|
||||
udb.write("cd ..\n")
|
||||
elif not os.path.isdir(fileFull):
|
||||
printLog(log, "listDirectoryUpload: file not dir or file?!" + fileFull)
|
||||
return nft
|
||||
|
||||
def uploadSftp(server, user, sshkey, dir_to, dir_from, addcmd):
|
||||
ft = downloadVersionTag(server, user, sshkey, dir_to)
|
||||
if isDirectoryNeeded(ft, dir_from):
|
||||
if os.path.isfile("upload_dir.batch"):
|
||||
os.remove("upload_dir.batch")
|
||||
if os.path.isfile("upload.batch"):
|
||||
os.remove("upload.batch")
|
||||
udb = open("upload_dir.batch", "w")
|
||||
udb.write("cd " + dir_to + "\n")
|
||||
ub = open("upload.batch", "w")
|
||||
ub.write("cd " + dir_to + "\n")
|
||||
for ac in addcmd:
|
||||
ub.write(ac + "\n")
|
||||
ftn = listDirectoryUpload(ft, ub, udb, dir_from)
|
||||
if (ft > ftn):
|
||||
ftn = ft
|
||||
nft = open("upload.tag", "w")
|
||||
nft.write(str(ftn))
|
||||
nft.close()
|
||||
ub.write("put upload.tag upload.tag\n")
|
||||
ub.write("quit\n")
|
||||
ub.close()
|
||||
udb.write("quit\n")
|
||||
udb.close()
|
||||
subprocess.call([ Psftp, "-be", "-b", "upload_dir.batch", "-i", sshkey, user + "@" + server ])
|
||||
subprocess.call([ Psftp, "-b", "upload.batch", "-i", sshkey, user + "@" + server ])
|
||||
os.remove("upload_dir.batch")
|
||||
os.remove("upload.batch")
|
||||
os.remove("upload.tag")
|
||||
else:
|
||||
printLog(log, "SKIP " + dir_to)
|
||||
|
||||
printLog(log, ">>> Upload patch <<<")
|
||||
for target in UploadPatch:
|
||||
uploadSftp(target[0], target[1], target[2], target[3], ClientPatchDirectory + "/patch", [ ])
|
||||
|
||||
printLog(log, ">>> Upload data_shard <<<")
|
||||
for target in UploadShard:
|
||||
uploadSftp(target[0], target[1], target[2], target[3], DataShardDirectory, [ "rm *.packed_sheets", "rm primitive_cache/*.binprim" ])
|
||||
|
||||
printLog(log, ">>> Upload data_common <<<")
|
||||
for target in UploadCommon:
|
||||
uploadSftp(target[0], target[1], target[2], target[3], DataCommonDirectory, [ ])
|
||||
|
||||
printLog(log, ">>> Upload data_leveldesign/leveldesign <<<")
|
||||
for target in UploadLeveldesign:
|
||||
uploadSftp(target[0], target[1], target[2], target[3], LeveldesignDirectory, [ ])
|
||||
|
||||
printLog(log, ">>> Upload data_leveldesign/primitives <<<")
|
||||
for target in UploadPrimitives:
|
||||
uploadSftp(target[0], target[1], target[2], target[3], PrimitivesDirectory, [ ])
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("9_upload.log"):
|
||||
os.remove("9_upload.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_upload.log")
|
||||
shutil.move("log.log", "9_upload.log")
|
||||
|
@ -1,74 +1,74 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file a1_worldedit_data.py
|
||||
# \brief Install worldedit data
|
||||
# \date 2014-09-10 14:01GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Install worldedit data
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Install worldedit data")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
for ecosystem in WorldEditEcosystems:
|
||||
ecosystemName = ecosystem[0]
|
||||
srcZoneLigos = ExportBuildDirectory + "/ecosystems/" + ecosystemName + "/ligo_es/zoneligos/"
|
||||
dstZoneLigos = WorldEditInstallDirectory + "/" + ecosystemName + "/zoneligos/"
|
||||
mkPath(log, srcZoneLigos)
|
||||
mkPath(log, dstZoneLigos)
|
||||
copyFilesNoTreeIfNeeded(log, srcZoneLigos, dstZoneLigos)
|
||||
srcZoneBitmaps = DatabaseDirectory + "/landscape/ligo/" + ecosystemName + "/zonebitmaps/"
|
||||
dstZoneBitmaps = WorldEditInstallDirectory + "/" + ecosystemName + "/zonebitmaps/"
|
||||
mkPath(log, srcZoneBitmaps)
|
||||
mkPath(log, dstZoneBitmaps)
|
||||
copyFilesExtNoTreeIfNeeded(log, srcZoneBitmaps, dstZoneBitmaps, ".tga")
|
||||
copyFilesExtNoTreeIfNeeded(log, srcZoneBitmaps, dstZoneBitmaps, ".png")
|
||||
dstCollisionMap = WorldEditInstallDirectory + "/" + ecosystemName + "/collisionmap/"
|
||||
mkPath(log, dstCollisionMap)
|
||||
for continentName in ecosystem[1]:
|
||||
srcCollisionMap = ExportBuildDirectory + "/continents/" + continentName + "/ai_wmap/"
|
||||
mkPath(log, srcCollisionMap)
|
||||
copyFilesExtNoTreeIfNeeded(log, srcCollisionMap, dstCollisionMap, ".tga")
|
||||
copyFilesExtNoTreeIfNeeded(log, srcCollisionMap, dstCollisionMap, ".png")
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("a1_worldedit_data.log"):
|
||||
os.remove("a1_worldedit_data.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_worldedit_data.log")
|
||||
shutil.move("log.log", "a1_worldedit_data.log")
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file a1_worldedit_data.py
|
||||
# \brief Install worldedit data
|
||||
# \date 2014-09-10 14:01GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Install worldedit data
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Install worldedit data")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
for ecosystem in WorldEditEcosystems:
|
||||
ecosystemName = ecosystem[0]
|
||||
srcZoneLigos = ExportBuildDirectory + "/ecosystems/" + ecosystemName + "/ligo_es/zoneligos/"
|
||||
dstZoneLigos = WorldEditInstallDirectory + "/" + ecosystemName + "/zoneligos/"
|
||||
mkPath(log, srcZoneLigos)
|
||||
mkPath(log, dstZoneLigos)
|
||||
copyFilesNoTreeIfNeeded(log, srcZoneLigos, dstZoneLigos)
|
||||
srcZoneBitmaps = DatabaseDirectory + "/landscape/ligo/" + ecosystemName + "/zonebitmaps/"
|
||||
dstZoneBitmaps = WorldEditInstallDirectory + "/" + ecosystemName + "/zonebitmaps/"
|
||||
mkPath(log, srcZoneBitmaps)
|
||||
mkPath(log, dstZoneBitmaps)
|
||||
copyFilesExtNoTreeIfNeeded(log, srcZoneBitmaps, dstZoneBitmaps, ".tga")
|
||||
copyFilesExtNoTreeIfNeeded(log, srcZoneBitmaps, dstZoneBitmaps, ".png")
|
||||
dstCollisionMap = WorldEditInstallDirectory + "/" + ecosystemName + "/collisionmap/"
|
||||
mkPath(log, dstCollisionMap)
|
||||
for continentName in ecosystem[1]:
|
||||
srcCollisionMap = ExportBuildDirectory + "/continents/" + continentName + "/ai_wmap/"
|
||||
mkPath(log, srcCollisionMap)
|
||||
copyFilesExtNoTreeIfNeeded(log, srcCollisionMap, dstCollisionMap, ".tga")
|
||||
copyFilesExtNoTreeIfNeeded(log, srcCollisionMap, dstCollisionMap, ".png")
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("a1_worldedit_data.log"):
|
||||
os.remove("a1_worldedit_data.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_worldedit_data.log")
|
||||
shutil.move("log.log", "a1_worldedit_data.log")
|
||||
|
@ -1,17 +1,15 @@
|
||||
title Ryzom Core: 0_setup.py --noconf
|
||||
python 0_setup.py --noconf
|
||||
title Ryzom Core: 1_export.py
|
||||
python 1_export.py
|
||||
title Ryzom Core: 2_build.py
|
||||
python 2_build.py
|
||||
title Ryzom Core: 3_install.py
|
||||
python 3_install.py
|
||||
title Ryzom Core: a1_worldedit_data.py
|
||||
python a1_worldedit_data.py
|
||||
title Ryzom Core: b1_client_dev.py
|
||||
python b1_client_dev.py
|
||||
title Ryzom Core: b2_shard_data.py
|
||||
python b2_shard_data.py
|
||||
title Ryzom Core: b3_shard_dev.py
|
||||
python b3_shard_dev.py
|
||||
title Ryzom Core: Ready
|
||||
title Ryzom Core: 0_setup.py --noconf
|
||||
0_setup.py --noconf
|
||||
title Ryzom Core: 1_export.py
|
||||
1_export.py
|
||||
title Ryzom Core: 2_build.py
|
||||
2_build.py
|
||||
title Ryzom Core: 3_install.py
|
||||
3_install.py
|
||||
title Ryzom Core: a1_worldedit_data.py
|
||||
a1_worldedit_data.py
|
||||
title Ryzom Core: b1_client_dev.py
|
||||
b1_client_dev.py
|
||||
title Ryzom Core: b2_shard_data.py
|
||||
b2_shard_data.py
|
||||
title Ryzom Core: Ready
|
||||
|
@ -1,11 +1,9 @@
|
||||
title Ryzom Core: 3_install.py
|
||||
python 3_install.py
|
||||
title Ryzom Core: a1_worldedit_data.py
|
||||
python a1_worldedit_data.py
|
||||
title Ryzom Core: b1_client_dev.py
|
||||
python b1_client_dev.py
|
||||
title Ryzom Core: b2_shard_data.py
|
||||
python b2_shard_data.py
|
||||
title Ryzom Core: b3_shard_dev.py
|
||||
python b3_shard_dev.py
|
||||
title Ryzom Core: Ready
|
||||
title Ryzom Core: 3_install.py
|
||||
3_install.py
|
||||
title Ryzom Core: a1_worldedit_data.py
|
||||
a1_worldedit_data.py
|
||||
title Ryzom Core: b1_client_dev.py
|
||||
b1_client_dev.py
|
||||
title Ryzom Core: b2_shard_data.py
|
||||
b2_shard_data.py
|
||||
title Ryzom Core: Ready
|
||||
|
@ -1,93 +1,93 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file b2_shard_data.py
|
||||
# \brief Install shard data
|
||||
# \date 2009-02-18 16:19GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Install shard data
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Install shard data")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
for dir in InstallShardDataDirectories:
|
||||
printLog(log, "SHARD PACKAGE " + dir)
|
||||
mkPath(log, ShardInstallDirectory + "/" + dir)
|
||||
printLog(log, "FROM " + dir)
|
||||
mkPath(log, InstallDirectory + "/" + dir)
|
||||
copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + dir, ShardInstallDirectory + "/" + dir)
|
||||
for package in InstallShardDataFiles:
|
||||
dstDir = package[0]
|
||||
mkPath(log, ShardInstallDirectory + "/" + dstDir)
|
||||
printLog(log, "SHARD PACKAGE " + dstDir)
|
||||
copyFileListNoTreeIfNeeded(log, InstallDirectory, ShardInstallDirectory + "/" + dstDir, package[1])
|
||||
for multiDir in InstallShardDataMultiDirectories:
|
||||
dstDir = multiDir[0]
|
||||
mkPath(log, ShardInstallDirectory + "/" + dstDir)
|
||||
printLog(log, "SHARD PACKAGE " + dstDir)
|
||||
for srcDir in multiDir[1]:
|
||||
printLog(log, "FROM " + srcDir)
|
||||
mkPath(log, InstallDirectory + "/" + srcDir)
|
||||
mkPath(log, ShardInstallDirectory + "/" + dstDir + "/" + srcDir)
|
||||
copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + srcDir, ShardInstallDirectory + "/" + dstDir + "/" + srcDir)
|
||||
for multiDir in InstallShardDataPrimitivesDirectories:
|
||||
dstDir = multiDir[0]
|
||||
mkPath(log, ShardInstallDirectory + "/" + dstDir)
|
||||
printLog(log, "SHARD PACKAGE " + dstDir)
|
||||
for srcDir in multiDir[1]:
|
||||
printLog(log, "FROM PRIMITIVES " + srcDir)
|
||||
mkPath(log, PrimitivesDirectory + "/" + srcDir)
|
||||
mkPath(log, ShardInstallDirectory + "/" + dstDir + "/" + srcDir)
|
||||
copyFilesNoTreeIfNeeded(log, PrimitivesDirectory + "/" + srcDir, ShardInstallDirectory + "/" + dstDir + "/" + srcDir)
|
||||
for execDir in InstallShardDataExecutables:
|
||||
dstDir = execDir[0]
|
||||
mkPath(log, LinuxServiceExecutableDirectory)
|
||||
mkPath(log, PatchmanCfgDefaultDirectory)
|
||||
mkPath(log, InstallDirectory)
|
||||
mkPath(log, ShardInstallDirectory + "/" + dstDir)
|
||||
printLog(log, "SHARD PACKAGE " + dstDir)
|
||||
copyFileIfNeeded(log, LinuxServiceExecutableDirectory + "/" + execDir[1][1], ShardInstallDirectory + "/" + dstDir + "/" + execDir[1][0])
|
||||
copyFileListNoTreeIfNeeded(log, PatchmanCfgDefaultDirectory, ShardInstallDirectory + "/" + dstDir, execDir[2])
|
||||
copyFileListNoTreeIfNeeded(log, InstallDirectory, ShardInstallDirectory + "/" + dstDir, execDir[3])
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("b2_shard_data.log"):
|
||||
os.remove("b2_shard_data.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_shard_data.log")
|
||||
shutil.move("log.log", "b2_shard_data.log")
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file b2_shard_data.py
|
||||
# \brief Install shard data
|
||||
# \date 2009-02-18 16:19GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Install shard data
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Install shard data")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
for dir in InstallShardDataDirectories:
|
||||
printLog(log, "SHARD PACKAGE " + dir)
|
||||
mkPath(log, ShardInstallDirectory + "/" + dir)
|
||||
printLog(log, "FROM " + dir)
|
||||
mkPath(log, InstallDirectory + "/" + dir)
|
||||
copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + dir, ShardInstallDirectory + "/" + dir)
|
||||
for package in InstallShardDataFiles:
|
||||
dstDir = package[0]
|
||||
mkPath(log, ShardInstallDirectory + "/" + dstDir)
|
||||
printLog(log, "SHARD PACKAGE " + dstDir)
|
||||
copyFileListNoTreeIfNeeded(log, InstallDirectory, ShardInstallDirectory + "/" + dstDir, package[1])
|
||||
for multiDir in InstallShardDataMultiDirectories:
|
||||
dstDir = multiDir[0]
|
||||
mkPath(log, ShardInstallDirectory + "/" + dstDir)
|
||||
printLog(log, "SHARD PACKAGE " + dstDir)
|
||||
for srcDir in multiDir[1]:
|
||||
printLog(log, "FROM " + srcDir)
|
||||
mkPath(log, InstallDirectory + "/" + srcDir)
|
||||
mkPath(log, ShardInstallDirectory + "/" + dstDir + "/" + srcDir)
|
||||
copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + srcDir, ShardInstallDirectory + "/" + dstDir + "/" + srcDir)
|
||||
for multiDir in InstallShardDataPrimitivesDirectories:
|
||||
dstDir = multiDir[0]
|
||||
mkPath(log, ShardInstallDirectory + "/" + dstDir)
|
||||
printLog(log, "SHARD PACKAGE " + dstDir)
|
||||
for srcDir in multiDir[1]:
|
||||
printLog(log, "FROM PRIMITIVES " + srcDir)
|
||||
mkPath(log, PrimitivesDirectory + "/" + srcDir)
|
||||
mkPath(log, ShardInstallDirectory + "/" + dstDir + "/" + srcDir)
|
||||
copyFilesNoTreeIfNeeded(log, PrimitivesDirectory + "/" + srcDir, ShardInstallDirectory + "/" + dstDir + "/" + srcDir)
|
||||
for execDir in InstallShardDataExecutables:
|
||||
dstDir = execDir[0]
|
||||
mkPath(log, LinuxServiceExecutableDirectory)
|
||||
mkPath(log, PatchmanCfgDefaultDirectory)
|
||||
mkPath(log, InstallDirectory)
|
||||
mkPath(log, ShardInstallDirectory + "/" + dstDir)
|
||||
printLog(log, "SHARD PACKAGE " + dstDir)
|
||||
copyFileIfNeeded(log, LinuxServiceExecutableDirectory + "/" + execDir[1][1], ShardInstallDirectory + "/" + dstDir + "/" + execDir[1][0])
|
||||
copyFileListNoTreeIfNeeded(log, PatchmanCfgDefaultDirectory, ShardInstallDirectory + "/" + dstDir, execDir[2])
|
||||
copyFileListNoTreeIfNeeded(log, InstallDirectory, ShardInstallDirectory + "/" + dstDir, execDir[3])
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("b2_shard_data.log"):
|
||||
os.remove("b2_shard_data.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_shard_data.log")
|
||||
shutil.move("log.log", "b2_shard_data.log")
|
||||
|
@ -1,152 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file b2_shard_data.py
|
||||
# \brief Install shard data
|
||||
# \date 2009-02-18 16:19GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Install shard data
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Install to shard dev")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Find tools
|
||||
PatchmanService = findTool(log, ToolDirectories, PatchmanServiceTool, ToolSuffix)
|
||||
printLog(log, "")
|
||||
|
||||
mkPath(log, ShardDevDirectory)
|
||||
mkPath(log, ShardDevDirectory + "/local")
|
||||
printLog(log, ">>> Generate shard dev local.cfg <<<")
|
||||
cfg = open(ShardDevDirectory + "/local.cfg", "w")
|
||||
cfg.write("WindowStyle = \"WIN\";\n")
|
||||
cfg.write("Paths += {\n")
|
||||
cfg.write(" \"" + ShardDevDirectory + "/local\",\n")
|
||||
cfg.write(" \"" + DataCommonDirectory + "\",\n")
|
||||
cfg.write(" \"" + DataShardDirectory + "\",\n")
|
||||
cfg.write(" \"" + LeveldesignDirectory + "\",\n")
|
||||
cfg.write(" \"" + WorldEditorFilesDirectory + "\",\n")
|
||||
for dir in InstallShardDataDirectories:
|
||||
mkPath(log, ShardInstallDirectory + "/" + dir)
|
||||
cfg.write(" \"" + ShardInstallDirectory + "/" + dir + "\",\n")
|
||||
for multiDir in InstallShardDataMultiDirectories:
|
||||
dstDir = multiDir[0]
|
||||
mkPath(log, ShardInstallDirectory + "/" + dstDir)
|
||||
cfg.write(" \"" + ShardInstallDirectory + "/" + dstDir + "\",\n")
|
||||
cfg.write("};\n")
|
||||
cfg.write("RRDToolPath = \"..\\..\\..\\external\\rrdtool\\rrdtool.exe\";\n")
|
||||
cfg.write("StartCommands += {\n")
|
||||
cfg.write(" // \"gw_aes.transportRemove aes_l3c\",\n")
|
||||
cfg.write("};\n")
|
||||
cfg.write("NegFiltersWarning += {\n")
|
||||
cfg.write(" \"already inserted from\",\n")
|
||||
cfg.write("};\n")
|
||||
cfg.write("// Allow player to stay connected to FS when services go down\n")
|
||||
cfg.write("DontNeedBackend = 1;\n")
|
||||
cfg.flush()
|
||||
cfg.close()
|
||||
printLog(log, "")
|
||||
|
||||
if not os.path.exists(ShardDevDirectory + "/aes_state.txt"):
|
||||
printLog(log, ">>> Generate shard dev aes_state.txt <<<")
|
||||
f = open(ShardDevDirectory + "/aes_state.txt", "w")
|
||||
f.write("ShardOrders unifier so_autostart_off\n")
|
||||
f.write("ShardOrders mainland so_autostart_off\n")
|
||||
f.write("ShardOrders ring so_autostart_off\n")
|
||||
f.flush()
|
||||
f.close()
|
||||
printLog(log, "")
|
||||
|
||||
mkPath(log, ShardDevDirectory + "/ras")
|
||||
if not os.path.exists(ShardDevDirectory + "/ras/as_state.txt"):
|
||||
printLog(log, ">>> Generate shard dev as_state.txt <<<")
|
||||
f = open(ShardDevDirectory + "/ras/as_state.txt", "w")
|
||||
f.write("ShardOrders unifier so_autostart_off\n")
|
||||
f.write("ShardOrders mainland so_autostart_off\n")
|
||||
f.write("ShardOrders ring so_autostart_off\n")
|
||||
f.flush()
|
||||
f.close()
|
||||
printLog(log, "")
|
||||
|
||||
for execDir in InstallShardDataExecutables:
|
||||
dstDir = execDir[0]
|
||||
mkPath(log, PatchmanCfgDefaultDirectory)
|
||||
mkPath(log, InstallDirectory)
|
||||
mkPath(log, ShardDevDirectory + "/live/" + dstDir)
|
||||
printLog(log, "SHARD PACKAGE " + dstDir)
|
||||
copyFileListNoTreeIfNeeded(log, PatchmanCfgDefaultDirectory, ShardDevDirectory + "/live/" + dstDir, execDir[2])
|
||||
copyFileListNoTreeIfNeeded(log, InstallDirectory, ShardDevDirectory + "/live/" + dstDir, execDir[3])
|
||||
for cfgName in execDir[2]:
|
||||
cfgPath = ShardDevDirectory + "/live/" + dstDir + "/" + cfgName
|
||||
found = False
|
||||
with open(cfgPath, "r") as f:
|
||||
for l in f:
|
||||
if "Paths += {" in l:
|
||||
found = True
|
||||
if not found:
|
||||
with open(cfgPath, "a") as cfg:
|
||||
cfg.write("\n")
|
||||
cfg.write("Paths += {\n")
|
||||
cfg.write(" \"" + ShardDevDirectory + "/live/" + dstDir + "\",\n")
|
||||
cfg.write("};\n")
|
||||
cfg.write("\n")
|
||||
cfg.flush()
|
||||
printLog(log, "")
|
||||
|
||||
|
||||
if PatchmanService == "":
|
||||
toolLogFail(log, PatchmanServiceTool, ToolSuffix)
|
||||
else:
|
||||
mkPath(log, PatchmanDevDirectory)
|
||||
cwDir = os.getcwd().replace("\\", "/")
|
||||
os.chdir(PatchmanDevDirectory)
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
subprocess.call([ PatchmanService, "-C.", "-L." ])
|
||||
if os.path.isfile("log.log"):
|
||||
f = open("log.log", "r")
|
||||
for l in f:
|
||||
printLog(log, l.rstrip())
|
||||
f.close()
|
||||
os.chdir(cwDir)
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("b3_shard_dev.log"):
|
||||
os.remove("b3_shard_dev.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_shard_dev.log")
|
||||
shutil.move("log.log", "b3_shard_dev.log")
|
@ -1,11 +1,11 @@
|
||||
title Ryzom Core: 1_export.py (CHARACTERS)
|
||||
python 1_export.py -ipj common/characters common/characters_maps_hr
|
||||
title Ryzom Core: 2_build.py (CHARACTERS)
|
||||
python 2_build.py -ipj common/characters common/characters_maps_hr
|
||||
title Ryzom Core: 3_install.py (CHARACTERS)
|
||||
python 3_install.py -ipj common/characters common/characters_maps_hr
|
||||
title Ryzom Core: b1_client_dev.py (CHARACTERS)
|
||||
python b1_client_dev.py
|
||||
title Ryzom Core: b2_shard_data.py (CHARACTERS)
|
||||
python b2_shard_data.py
|
||||
title Ryzom Core: Ready (CHARACTERS)
|
||||
title Ryzom Core: 1_export.py (CHARACTERS)
|
||||
1_export.py -ipj common/characters common/characters_maps_hr
|
||||
title Ryzom Core: 2_build.py (CHARACTERS)
|
||||
2_build.py -ipj common/characters common/characters_maps_hr
|
||||
title Ryzom Core: 3_install.py (CHARACTERS)
|
||||
3_install.py -ipj common/characters common/characters_maps_hr
|
||||
title Ryzom Core: b1_client_dev.py (CHARACTERS)
|
||||
b1_client_dev.py
|
||||
title Ryzom Core: b2_shard_data.py (CHARACTERS)
|
||||
b2_shard_data.py
|
||||
title Ryzom Core: Ready (CHARACTERS)
|
||||
|
@ -1,86 +1,86 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file d2_client_install.py
|
||||
# \brief Install to client install
|
||||
# \date 2009-02-18 16:19GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Install to client install
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Install to client install")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
for category in InstallClientData:
|
||||
printLog(log, "CATEGORY " + category["Name"])
|
||||
packExt = ".bnp"
|
||||
if (category["StreamedPackages"]):
|
||||
packExt = ".snp"
|
||||
if (category["UnpackTo"] != None):
|
||||
targetPath = ClientInstallDirectory
|
||||
if (category["UnpackTo"] != ""):
|
||||
targetPath += "/" + category["UnpackTo"]
|
||||
mkPath(log, targetPath)
|
||||
for package in category["Packages"]:
|
||||
printLog(log, "PACKAGE " + package[0])
|
||||
mkPath(log, InstallDirectory + "/" + package[0])
|
||||
copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + package[0], targetPath)
|
||||
else:
|
||||
sourcePath = ClientPatchDirectory + "/bnp"
|
||||
targetPath = ClientInstallDirectory + "/data"
|
||||
mkPath(log, targetPath)
|
||||
for package in category["Packages"]:
|
||||
printLog(log, "PACKAGE " + package[0])
|
||||
sourceBnp = sourcePath + "/" + package[0] + packExt
|
||||
targetBnp = targetPath + "/" + package[0] + packExt
|
||||
if (len(package[1]) > 0):
|
||||
sourceBnp = sourcePath + "/" + package[1][0]
|
||||
targetBnp = targetPath + "/" + package[1][0]
|
||||
printLog(log, "TARGET " + package[1][0])
|
||||
copyFileIfNeeded(log, sourceBnp, targetBnp)
|
||||
for ref in category["Refs"]:
|
||||
printLog(log, "REFERENCE " + ref)
|
||||
sourceRef = sourcePath + "/" + ref + "_.ref"
|
||||
targetRef = targetPath + "/" + ref + "_.ref"
|
||||
copyFileIfNeeded(log, sourceRef, targetRef)
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("d2_client_install.log"):
|
||||
os.remove("d2_client_install.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_client_install.log")
|
||||
shutil.move("log.log", "d2_client_install.log")
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file d2_client_install.py
|
||||
# \brief Install to client install
|
||||
# \date 2009-02-18 16:19GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Install to client install
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite_local import *
|
||||
from tools import *
|
||||
|
||||
sys.path.append(WorkspaceDirectory)
|
||||
from projects import *
|
||||
|
||||
# Log error
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Install to client install")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
for category in InstallClientData:
|
||||
printLog(log, "CATEGORY " + category["Name"])
|
||||
packExt = ".bnp"
|
||||
if (category["StreamedPackages"]):
|
||||
packExt = ".snp"
|
||||
if (category["UnpackTo"] != None):
|
||||
targetPath = ClientInstallDirectory
|
||||
if (category["UnpackTo"] != ""):
|
||||
targetPath += "/" + category["UnpackTo"]
|
||||
mkPath(log, targetPath)
|
||||
for package in category["Packages"]:
|
||||
printLog(log, "PACKAGE " + package[0])
|
||||
mkPath(log, InstallDirectory + "/" + package[0])
|
||||
copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + package[0], targetPath)
|
||||
else:
|
||||
sourcePath = ClientPatchDirectory + "/bnp"
|
||||
targetPath = ClientInstallDirectory + "/data"
|
||||
mkPath(log, targetPath)
|
||||
for package in category["Packages"]:
|
||||
printLog(log, "PACKAGE " + package[0])
|
||||
sourceBnp = sourcePath + "/" + package[0] + packExt
|
||||
targetBnp = targetPath + "/" + package[0] + packExt
|
||||
if (len(package[1]) > 0):
|
||||
sourceBnp = sourcePath + "/" + package[1][0]
|
||||
targetBnp = targetPath + "/" + package[1][0]
|
||||
printLog(log, "TARGET " + package[1][0])
|
||||
copyFileIfNeeded(log, sourceBnp, targetBnp)
|
||||
for ref in category["Refs"]:
|
||||
printLog(log, "REFERENCE " + ref)
|
||||
sourceRef = sourcePath + "/" + ref + "_.ref"
|
||||
targetRef = targetPath + "/" + ref + "_.ref"
|
||||
copyFileIfNeeded(log, sourceRef, targetRef)
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("d2_client_install.log"):
|
||||
os.remove("d2_client_install.log")
|
||||
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_client_install.log")
|
||||
shutil.move("log.log", "d2_client_install.log")
|
||||
|
@ -1,15 +1,13 @@
|
||||
title Ryzom Core: 0_setup.py (EXECUTABLES)
|
||||
python 0_setup.py --noconf -ipj common/gamedev common/exedll common/cfg common/data_common
|
||||
title Ryzom Core: 1_export.py (EXECUTABLES)
|
||||
python 1_export.py -ipj common/gamedev common/exedll common/cfg common/data_common
|
||||
title Ryzom Core: 2_build.py (EXECUTABLES)
|
||||
python 2_build.py -ipj common/gamedev common/exedll common/cfg common/data_common
|
||||
title Ryzom Core: 3_install.py (EXECUTABLES)
|
||||
python 3_install.py -ipj common/gamedev common/exedll common/cfg common/data_common
|
||||
title Ryzom Core: b1_client_dev.py
|
||||
python b1_client_dev.py
|
||||
title Ryzom Core: b2_shard_data.py
|
||||
python b2_shard_data.py
|
||||
title Ryzom Core: b3_shard_dev.py
|
||||
python b3_shard_dev.py
|
||||
title Ryzom Core: Ready
|
||||
title Ryzom Core: 0_setup.py (EXECUTABLES)
|
||||
0_setup.py --noconf -ipj common/gamedev common/exedll common/cfg common/data_common
|
||||
title Ryzom Core: 1_export.py (EXECUTABLES)
|
||||
1_export.py -ipj common/gamedev common/exedll common/cfg common/data_common
|
||||
title Ryzom Core: 2_build.py (EXECUTABLES)
|
||||
2_build.py -ipj common/gamedev common/exedll common/cfg common/data_common
|
||||
title Ryzom Core: 3_install.py (EXECUTABLES)
|
||||
3_install.py -ipj common/gamedev common/exedll common/cfg common/data_common
|
||||
title Ryzom Core: b1_client_dev.py
|
||||
b1_client_dev.py
|
||||
title Ryzom Core: b2_shard_data.py
|
||||
b2_shard_data.py
|
||||
title Ryzom Core: Ready
|
||||
|
@ -1,32 +1,32 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file export_build_install.py
|
||||
# \brief Run all processes
|
||||
# \date 2009-02-18 15:28GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http:#dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import shutil, subprocess
|
||||
|
||||
subprocess.call([ "python", "1_export.py" ])
|
||||
subprocess.call([ "python", "2_build.py" ])
|
||||
subprocess.call([ "python", "3_install.py" ])
|
||||
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file export_build_install.py
|
||||
# \brief Run all processes
|
||||
# \date 2009-02-18 15:28GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http:#dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import shutil, subprocess
|
||||
|
||||
subprocess.call([ "python", "1_export.py" ])
|
||||
subprocess.call([ "python", "2_build.py" ])
|
||||
subprocess.call([ "python", "3_install.py" ])
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
title Ryzom Core: 1_export.py (FAUNA)
|
||||
python 1_export.py -ipj common/fauna
|
||||
title Ryzom Core: 2_build.py (FAUNA)
|
||||
python 2_build.py -ipj common/fauna
|
||||
title Ryzom Core: 3_install.py (FAUNA)
|
||||
python 3_install.py -ipj common/fauna
|
||||
title Ryzom Core: b1_client_dev.py (FAUNA)
|
||||
python b1_client_dev.py
|
||||
title Ryzom Core: b2_shard_data.py (FAUNA)
|
||||
python b2_shard_data.py
|
||||
title Ryzom Core: Ready (FAUNA)
|
@ -1,220 +1,220 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# #################################################################
|
||||
# ## %PreGenWarning%
|
||||
# #################################################################
|
||||
#
|
||||
# \file directories.py
|
||||
# \brief Directories configuration
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# \date 2001-2005
|
||||
# \author Nevrax
|
||||
# Python port of game data build pipeline.
|
||||
# Directories configuration for '%PreGenEcosystemName%' ecosystem.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
|
||||
# *** ECOSYSTEM AND CONTINENT NAMES ***
|
||||
|
||||
EcosystemName = "%PreGenEcosystemName%"
|
||||
EcosystemPath = "ecosystems/" + EcosystemName
|
||||
CommonName = EcosystemName
|
||||
CommonPath = EcosystemPath
|
||||
|
||||
DatabaseRootName = "%PreGenDatabaseRootName%"
|
||||
DatabaseRootPath = "stuff/" + DatabaseRootName
|
||||
|
||||
|
||||
# *** SOURCE DIRECTORIES IN THE DATABASE ***
|
||||
|
||||
# Shape directories
|
||||
ShapeSourceDirectories = [ ]
|
||||
ShapeSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ]
|
||||
ShapeSourceDirectories += [ "landscape/ligo/" + EcosystemName + "/max" ]
|
||||
|
||||
# Maps directories
|
||||
MapSourceDirectories = [ ]
|
||||
MapSourceDirectories += [ DatabaseRootPath + "/decors/_textures" ]
|
||||
%PreGenMapSubdirectories%MapSourceDirectories += [ "landscape/microveget/" + EcosystemName + "" ]
|
||||
MapSourceDirectories += [ "landscape/water/meshes/" + EcosystemName + "" ]
|
||||
|
||||
MapUncompressedSourceDirectories = [ ]
|
||||
|
||||
# Tiles directories
|
||||
TilesSourceDirectories = [ ]
|
||||
%PreGenTileSourceDirectories%
|
||||
# Tiles root directory
|
||||
TileRootSourceDirectory = "landscape/_texture_tiles/" + EcosystemName
|
||||
|
||||
# Displace directory
|
||||
DisplaceSourceDirectory = "landscape/_texture_tiles/" + EcosystemName + "/displace"
|
||||
|
||||
# Do not use, needs to be removed and fixed in processes
|
||||
DisplaceSourceDirectories = [ ]
|
||||
DisplaceSourceDirectories += [ DisplaceSourceDirectory ]
|
||||
|
||||
# Bank directory
|
||||
BankSourceDirectory = "landscape/_texture_tiles/" + EcosystemName
|
||||
|
||||
# Vegetable set directories
|
||||
VegetSetSourceDirectories = [ ]
|
||||
VegetSetSourceDirectories += [ "landscape/microveget/" + EcosystemName ]
|
||||
|
||||
# Veget directories
|
||||
VegetSourceDirectories = [ ]
|
||||
VegetSourceDirectories += [ "landscape/microveget/" + EcosystemName ]
|
||||
|
||||
# Ligo directories
|
||||
LigoBaseSourceDirectory = "landscape/ligo/" + EcosystemName
|
||||
LigoMaxSourceDirectory = LigoBaseSourceDirectory + "/max"
|
||||
|
||||
# Zone directories
|
||||
ZoneSourceDirectory = [ "landscape/zones/" + EcosystemName ] # For old snowballs style landscape when not using ligo
|
||||
|
||||
# Ig landscape directories
|
||||
IgLandSourceDirectory = "_invalid"
|
||||
|
||||
# Ig other directories
|
||||
IgOtherSourceDirectory = "_invalid"
|
||||
|
||||
# PACS primitives directories
|
||||
PacsPrimSourceDirectories = [ ]
|
||||
PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ]
|
||||
|
||||
|
||||
# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg)
|
||||
|
||||
# Ig lookup directories used by rbank
|
||||
IgLookupDirectories = [ ]
|
||||
|
||||
# Shape lookup directories used by rbank
|
||||
ShapeLookupDirectories = [ ]
|
||||
ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ]
|
||||
ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ]
|
||||
|
||||
# Map lookup directories not yet used
|
||||
MapLookupDirectories = [ ]
|
||||
MapLookupDirectories += [ EcosystemPath + "/map_export" ]
|
||||
MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ]
|
||||
|
||||
|
||||
# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Map directories
|
||||
MapExportDirectory = CommonPath + "/map_export"
|
||||
MapUncompressedExportDirectory = CommonPath + "/map_uncompressed"
|
||||
|
||||
# Shape directories
|
||||
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
||||
ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized"
|
||||
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
||||
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
||||
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
||||
|
||||
# Smallbank directories
|
||||
SmallbankExportDirectory = CommonPath + "/smallbank"
|
||||
|
||||
# Tiles directories
|
||||
TilesExportDirectory = CommonPath + "/tiles"
|
||||
|
||||
# Tiles directories
|
||||
DisplaceExportDirectory = CommonPath + "/diplace"
|
||||
|
||||
# Veget directories
|
||||
VegetExportDirectory = CommonPath + "/veget"
|
||||
VegetTagExportDirectory = CommonPath + "/veget_tag"
|
||||
|
||||
# Veget Set directories
|
||||
VegetSetExportDirectory = CommonPath + "/veget_set"
|
||||
|
||||
# Ligo directories
|
||||
LigoEcosystemExportDirectory = CommonPath + "/ligo_es"
|
||||
LigoEcosystemIgExportDirectory = LigoEcosystemExportDirectory + "/igs"
|
||||
LigoEcosystemZoneExportDirectory = LigoEcosystemExportDirectory + "/zones"
|
||||
LigoEcosystemZoneLigoExportDirectory = LigoEcosystemExportDirectory + "/zoneligos"
|
||||
LigoEcosystemCmbExportDirectory = LigoEcosystemExportDirectory + "/cmb"
|
||||
LigoEcosystemTagExportDirectory = CommonPath + "/ligo_es_tag"
|
||||
|
||||
# Zone directories
|
||||
ZoneExportDirectory = CommonPath + "/zone"
|
||||
|
||||
# PACS primitives directories
|
||||
PacsPrimExportDirectory = CommonPath + "/pacs_prim"
|
||||
PacsPrimTagExportDirectory = CommonPath + "/pacs_prim_tag"
|
||||
|
||||
|
||||
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Map directories
|
||||
MapBuildDirectory = CommonPath + "/map"
|
||||
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
||||
MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info"
|
||||
MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank"
|
||||
MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache"
|
||||
MapTagBuildDirectory = CommonPath + "/map_tag"
|
||||
|
||||
# Shape directories
|
||||
ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build"
|
||||
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
||||
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
||||
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
||||
|
||||
# Farbank directories
|
||||
FarbankBuildDirectory = CommonPath + "/farbank"
|
||||
|
||||
# Ig directories ************** TODO CONFIRM IN IG BUILD PROCESS ************ FIX RBANK IF NEEDED ***********
|
||||
IgLandBuildDirectory = "_invalid"
|
||||
IgOtherBuildDirectory = "_invalid"
|
||||
|
||||
# Rbank directories
|
||||
RbankOutputBuildDirectory = "_invalid"
|
||||
|
||||
# Ligo directories
|
||||
|
||||
|
||||
# *** INSTALL DIRECTORIES IN THE CLIENT DATA ***
|
||||
|
||||
# Map directory
|
||||
MapInstallDirectory = CommonName + "_maps"
|
||||
BitmapInstallDirectory = MapInstallDirectory
|
||||
|
||||
# Shape directory
|
||||
ShapeInstallDirectory = CommonName + "_shapes"
|
||||
|
||||
# Lightmap directory
|
||||
LightmapInstallDirectory = CommonName + "_lightmaps"
|
||||
|
||||
# Tile directory
|
||||
TilesInstallDirectory = CommonName + "_tiles"
|
||||
|
||||
# Displace directory
|
||||
DisplaceInstallDirectory = CommonName + "_displaces"
|
||||
|
||||
# Bank directory
|
||||
BankInstallDirectory = CommonName + "_bank"
|
||||
|
||||
# Vegetable set directory
|
||||
VegetSetInstallDirectory = CommonName + "_vegetable_sets"
|
||||
|
||||
# Vegetable shape directory
|
||||
VegetInstallDirectory = CommonName + "_vegetables"
|
||||
|
||||
# PACS primitives directories
|
||||
PacsPrimInstallDirectory = CommonName + "_pacs_prim"
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# #################################################################
|
||||
# ## %PreGenWarning%
|
||||
# #################################################################
|
||||
#
|
||||
# \file directories.py
|
||||
# \brief Directories configuration
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# \date 2001-2005
|
||||
# \author Nevrax
|
||||
# Python port of game data build pipeline.
|
||||
# Directories configuration for '%PreGenEcosystemName%' ecosystem.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
|
||||
# *** ECOSYSTEM AND CONTINENT NAMES ***
|
||||
|
||||
EcosystemName = "%PreGenEcosystemName%"
|
||||
EcosystemPath = "ecosystems/" + EcosystemName
|
||||
CommonName = EcosystemName
|
||||
CommonPath = EcosystemPath
|
||||
|
||||
DatabaseRootName = "%PreGenDatabaseRootName%"
|
||||
DatabaseRootPath = "stuff/" + DatabaseRootName
|
||||
|
||||
|
||||
# *** SOURCE DIRECTORIES IN THE DATABASE ***
|
||||
|
||||
# Shape directories
|
||||
ShapeSourceDirectories = [ ]
|
||||
ShapeSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ]
|
||||
ShapeSourceDirectories += [ "landscape/ligo/" + EcosystemName + "/max" ]
|
||||
|
||||
# Maps directories
|
||||
MapSourceDirectories = [ ]
|
||||
MapSourceDirectories += [ DatabaseRootPath + "/decors/_textures" ]
|
||||
%PreGenMapSubdirectories%MapSourceDirectories += [ "landscape/microveget/" + EcosystemName + "" ]
|
||||
MapSourceDirectories += [ "landscape/water/meshes/" + EcosystemName + "" ]
|
||||
|
||||
MapUncompressedSourceDirectories = [ ]
|
||||
|
||||
# Tiles directories
|
||||
TilesSourceDirectories = [ ]
|
||||
%PreGenTileSourceDirectories%
|
||||
# Tiles root directory
|
||||
TileRootSourceDirectory = "landscape/_texture_tiles/" + EcosystemName
|
||||
|
||||
# Displace directory
|
||||
DisplaceSourceDirectory = "landscape/_texture_tiles/" + EcosystemName + "/displace"
|
||||
|
||||
# Do not use, needs to be removed and fixed in processes
|
||||
DisplaceSourceDirectories = [ ]
|
||||
DisplaceSourceDirectories += [ DisplaceSourceDirectory ]
|
||||
|
||||
# Bank directory
|
||||
BankSourceDirectory = "landscape/_texture_tiles/" + EcosystemName
|
||||
|
||||
# Vegetable set directories
|
||||
VegetSetSourceDirectories = [ ]
|
||||
VegetSetSourceDirectories += [ "landscape/microveget/" + EcosystemName ]
|
||||
|
||||
# Veget directories
|
||||
VegetSourceDirectories = [ ]
|
||||
VegetSourceDirectories += [ "landscape/microveget/" + EcosystemName ]
|
||||
|
||||
# Ligo directories
|
||||
LigoBaseSourceDirectory = "landscape/ligo/" + EcosystemName
|
||||
LigoMaxSourceDirectory = LigoBaseSourceDirectory + "/max"
|
||||
|
||||
# Zone directories
|
||||
ZoneSourceDirectory = [ "landscape/zones/" + EcosystemName ] # For old snowballs style landscape when not using ligo
|
||||
|
||||
# Ig landscape directories
|
||||
IgLandSourceDirectory = "_invalid"
|
||||
|
||||
# Ig other directories
|
||||
IgOtherSourceDirectory = "_invalid"
|
||||
|
||||
# PACS primitives directories
|
||||
PacsPrimSourceDirectories = [ ]
|
||||
PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ]
|
||||
|
||||
|
||||
# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg)
|
||||
|
||||
# Ig lookup directories used by rbank
|
||||
IgLookupDirectories = [ ]
|
||||
|
||||
# Shape lookup directories used by rbank
|
||||
ShapeLookupDirectories = [ ]
|
||||
ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ]
|
||||
ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ]
|
||||
|
||||
# Map lookup directories not yet used
|
||||
MapLookupDirectories = [ ]
|
||||
MapLookupDirectories += [ EcosystemPath + "/map_export" ]
|
||||
MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ]
|
||||
|
||||
|
||||
# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Map directories
|
||||
MapExportDirectory = CommonPath + "/map_export"
|
||||
MapUncompressedExportDirectory = CommonPath + "/map_uncompressed"
|
||||
|
||||
# Shape directories
|
||||
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
||||
ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized"
|
||||
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
||||
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
||||
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
||||
|
||||
# Smallbank directories
|
||||
SmallbankExportDirectory = CommonPath + "/smallbank"
|
||||
|
||||
# Tiles directories
|
||||
TilesExportDirectory = CommonPath + "/tiles"
|
||||
|
||||
# Tiles directories
|
||||
DisplaceExportDirectory = CommonPath + "/diplace"
|
||||
|
||||
# Veget directories
|
||||
VegetExportDirectory = CommonPath + "/veget"
|
||||
VegetTagExportDirectory = CommonPath + "/veget_tag"
|
||||
|
||||
# Veget Set directories
|
||||
VegetSetExportDirectory = CommonPath + "/veget_set"
|
||||
|
||||
# Ligo directories
|
||||
LigoEcosystemExportDirectory = CommonPath + "/ligo_es"
|
||||
LigoEcosystemIgExportDirectory = LigoEcosystemExportDirectory + "/igs"
|
||||
LigoEcosystemZoneExportDirectory = LigoEcosystemExportDirectory + "/zones"
|
||||
LigoEcosystemZoneLigoExportDirectory = LigoEcosystemExportDirectory + "/zoneligos"
|
||||
LigoEcosystemCmbExportDirectory = LigoEcosystemExportDirectory + "/cmb"
|
||||
LigoEcosystemTagExportDirectory = CommonPath + "/ligo_es_tag"
|
||||
|
||||
# Zone directories
|
||||
ZoneExportDirectory = CommonPath + "/zone"
|
||||
|
||||
# PACS primitives directories
|
||||
PacsPrimExportDirectory = CommonPath + "/pacs_prim"
|
||||
PacsPrimTagExportDirectory = CommonPath + "/pacs_prim_tag"
|
||||
|
||||
|
||||
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Map directories
|
||||
MapBuildDirectory = CommonPath + "/map"
|
||||
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
||||
MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info"
|
||||
MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank"
|
||||
MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache"
|
||||
MapTagBuildDirectory = CommonPath + "/map_tag"
|
||||
|
||||
# Shape directories
|
||||
ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build"
|
||||
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
||||
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
||||
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
||||
|
||||
# Farbank directories
|
||||
FarbankBuildDirectory = CommonPath + "/farbank"
|
||||
|
||||
# Ig directories ************** TODO CONFIRM IN IG BUILD PROCESS ************ FIX RBANK IF NEEDED ***********
|
||||
IgLandBuildDirectory = "_invalid"
|
||||
IgOtherBuildDirectory = "_invalid"
|
||||
|
||||
# Rbank directories
|
||||
RbankOutputBuildDirectory = "_invalid"
|
||||
|
||||
# Ligo directories
|
||||
|
||||
|
||||
# *** INSTALL DIRECTORIES IN THE CLIENT DATA ***
|
||||
|
||||
# Map directory
|
||||
MapInstallDirectory = CommonName + "_maps"
|
||||
BitmapInstallDirectory = MapInstallDirectory
|
||||
|
||||
# Shape directory
|
||||
ShapeInstallDirectory = CommonName + "_shapes"
|
||||
|
||||
# Lightmap directory
|
||||
LightmapInstallDirectory = CommonName + "_lightmaps"
|
||||
|
||||
# Tile directory
|
||||
TilesInstallDirectory = CommonName + "_tiles"
|
||||
|
||||
# Displace directory
|
||||
DisplaceInstallDirectory = CommonName + "_displaces"
|
||||
|
||||
# Bank directory
|
||||
BankInstallDirectory = CommonName + "_bank"
|
||||
|
||||
# Vegetable set directory
|
||||
VegetSetInstallDirectory = CommonName + "_vegetable_sets"
|
||||
|
||||
# Vegetable shape directory
|
||||
VegetInstallDirectory = CommonName + "_vegetables"
|
||||
|
||||
# PACS primitives directories
|
||||
PacsPrimInstallDirectory = CommonName + "_pacs_prim"
|
||||
|
@ -1,122 +1,122 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# #################################################################
|
||||
# ## %PreGenWarning%
|
||||
# #################################################################
|
||||
#
|
||||
# \file config.py
|
||||
# \brief Process configuration
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Process configuration for '%PreGenEcosystemName%' ecosystem.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
# *** PROCESS CONFIGURATION ***
|
||||
|
||||
# *** PROCESS CONFIG ***
|
||||
ProcessToComplete = [ ]
|
||||
ProcessToComplete += [ "shape" ]
|
||||
ProcessToComplete += [ "map" ]
|
||||
ProcessToComplete += [ "smallbank" ]
|
||||
ProcessToComplete += [ "farbank" ]
|
||||
ProcessToComplete += [ "tiles" ]
|
||||
ProcessToComplete += [ "displace" ]
|
||||
ProcessToComplete += [ "veget" ]
|
||||
ProcessToComplete += [ "vegetset" ]
|
||||
ProcessToComplete += [ "ligo" ]
|
||||
ProcessToComplete += [ "pacs_prim" ]
|
||||
|
||||
|
||||
# *** ECOSYSTEM AND CONTINENT NAMES ***
|
||||
|
||||
EcosystemName = "%PreGenEcosystemName%"
|
||||
EcosystemPath = "ecosystems/" + EcosystemName
|
||||
CommonName = EcosystemName
|
||||
CommonPath = EcosystemPath
|
||||
|
||||
|
||||
# *** MAP EXPORT OPTIONS ***
|
||||
PanoplyFileList = [ ]
|
||||
HlsBankFileName = ""
|
||||
|
||||
# *** SHAPE EXPORT OPTIONS ***
|
||||
|
||||
# Compute lightmaps ?
|
||||
ShapeExportOptExportLighting = "%PreGenShapeExportOptExportLighting%"
|
||||
|
||||
# Cast shadow in lightmap ?
|
||||
ShapeExportOptShadow = "%PreGenShapeExportOptShadow%"
|
||||
|
||||
# Lighting limits. 0 : normal, 1 : soft shadows
|
||||
ShapeExportOptLightingLimit = %PreGenShapeExportOptLightingLimit%
|
||||
|
||||
# Lightmap lumel size
|
||||
ShapeExportOptLumelSize = "%PreGenShapeExportOptLumelSize%"
|
||||
|
||||
# Oversampling value. Can be 1, 2, 4 or 8
|
||||
ShapeExportOptOversampling = %PreGenShapeExportOptOversampling%
|
||||
|
||||
# Does the lightmap must be generated in 8 bits format ?
|
||||
ShapeExportOpt8BitsLightmap = "%PreGenShapeExportOpt8BitsLightmap%"
|
||||
|
||||
# Does the lightmaps export must generate logs ?
|
||||
ShapeExportOptLightmapLog = "%PreGenShapeExportOptLightmapLog%"
|
||||
|
||||
# Coarse mesh texture mul size
|
||||
TextureMulSizeValue = "%PreGenTextureMulSizeValue%"
|
||||
|
||||
ClodConfigFile = ""
|
||||
|
||||
# *** COARSE MESH TEXTURE NAME ***
|
||||
CoarseMeshTextureNames = [ ]
|
||||
%PreGenCoarseMeshTextureNames%
|
||||
# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM ***
|
||||
MultipleTilesPostfix = [ ]
|
||||
%PreGenMultipleTilesPostfix%
|
||||
# *** BANK EXPORT OPTIONS ***
|
||||
|
||||
# Name of the tilebank to use
|
||||
BankTileBankName = EcosystemName
|
||||
|
||||
# *** RBANK EXPORT OPTIONS ***
|
||||
|
||||
# Output names
|
||||
RbankRbankName = "_invalid"
|
||||
|
||||
# *** LIGO OPTIONS ***
|
||||
|
||||
LigoExportLand = ""
|
||||
LigoExportOnePass = 0
|
||||
|
||||
# *** MAPS OPTIONS ***
|
||||
|
||||
ReduceBitmapFactor = 0
|
||||
# list all panoply files
|
||||
MapPanoplyFileList = None
|
||||
# name of the .hlsbank to build.
|
||||
MapHlsBankFileName = None
|
||||
|
||||
# *** SHAPE BUILD OPTIONS *
|
||||
|
||||
BuildShadowSkinEnabled = False
|
||||
ClodConfigFile = ""
|
||||
|
||||
# *** PACS_PRIM OPTIONS ***
|
||||
WantLandscapeColPrimPacsList = True
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# #################################################################
|
||||
# ## %PreGenWarning%
|
||||
# #################################################################
|
||||
#
|
||||
# \file config.py
|
||||
# \brief Process configuration
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Process configuration for '%PreGenEcosystemName%' ecosystem.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
# *** PROCESS CONFIGURATION ***
|
||||
|
||||
# *** PROCESS CONFIG ***
|
||||
ProcessToComplete = [ ]
|
||||
ProcessToComplete += [ "shape" ]
|
||||
ProcessToComplete += [ "map" ]
|
||||
ProcessToComplete += [ "smallbank" ]
|
||||
ProcessToComplete += [ "farbank" ]
|
||||
ProcessToComplete += [ "tiles" ]
|
||||
ProcessToComplete += [ "displace" ]
|
||||
ProcessToComplete += [ "veget" ]
|
||||
ProcessToComplete += [ "vegetset" ]
|
||||
ProcessToComplete += [ "ligo" ]
|
||||
ProcessToComplete += [ "pacs_prim" ]
|
||||
|
||||
|
||||
# *** ECOSYSTEM AND CONTINENT NAMES ***
|
||||
|
||||
EcosystemName = "%PreGenEcosystemName%"
|
||||
EcosystemPath = "ecosystems/" + EcosystemName
|
||||
CommonName = EcosystemName
|
||||
CommonPath = EcosystemPath
|
||||
|
||||
|
||||
# *** MAP EXPORT OPTIONS ***
|
||||
PanoplyFileList = [ ]
|
||||
HlsBankFileName = ""
|
||||
|
||||
# *** SHAPE EXPORT OPTIONS ***
|
||||
|
||||
# Compute lightmaps ?
|
||||
ShapeExportOptExportLighting = "%PreGenShapeExportOptExportLighting%"
|
||||
|
||||
# Cast shadow in lightmap ?
|
||||
ShapeExportOptShadow = "%PreGenShapeExportOptShadow%"
|
||||
|
||||
# Lighting limits. 0 : normal, 1 : soft shadows
|
||||
ShapeExportOptLightingLimit = %PreGenShapeExportOptLightingLimit%
|
||||
|
||||
# Lightmap lumel size
|
||||
ShapeExportOptLumelSize = "%PreGenShapeExportOptLumelSize%"
|
||||
|
||||
# Oversampling value. Can be 1, 2, 4 or 8
|
||||
ShapeExportOptOversampling = %PreGenShapeExportOptOversampling%
|
||||
|
||||
# Does the lightmap must be generated in 8 bits format ?
|
||||
ShapeExportOpt8BitsLightmap = "%PreGenShapeExportOpt8BitsLightmap%"
|
||||
|
||||
# Does the lightmaps export must generate logs ?
|
||||
ShapeExportOptLightmapLog = "%PreGenShapeExportOptLightmapLog%"
|
||||
|
||||
# Coarse mesh texture mul size
|
||||
TextureMulSizeValue = "%PreGenTextureMulSizeValue%"
|
||||
|
||||
ClodConfigFile = ""
|
||||
|
||||
# *** COARSE MESH TEXTURE NAME ***
|
||||
CoarseMeshTextureNames = [ ]
|
||||
%PreGenCoarseMeshTextureNames%
|
||||
# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM ***
|
||||
MultipleTilesPostfix = [ ]
|
||||
%PreGenMultipleTilesPostfix%
|
||||
# *** BANK EXPORT OPTIONS ***
|
||||
|
||||
# Name of the tilebank to use
|
||||
BankTileBankName = EcosystemName
|
||||
|
||||
# *** RBANK EXPORT OPTIONS ***
|
||||
|
||||
# Output names
|
||||
RbankRbankName = "_invalid"
|
||||
|
||||
# *** LIGO OPTIONS ***
|
||||
|
||||
LigoExportLand = ""
|
||||
LigoExportOnePass = 0
|
||||
|
||||
# *** MAPS OPTIONS ***
|
||||
|
||||
ReduceBitmapFactor = 0
|
||||
# list all panoply files
|
||||
MapPanoplyFileList = None
|
||||
# name of the .hlsbank to build.
|
||||
MapHlsBankFileName = None
|
||||
|
||||
# *** SHAPE BUILD OPTIONS *
|
||||
|
||||
BuildShadowSkinEnabled = False
|
||||
ClodConfigFile = ""
|
||||
|
||||
# *** PACS_PRIM OPTIONS ***
|
||||
WantLandscapeColPrimPacsList = True
|
||||
|
@ -1,65 +1,65 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief Run all setup processes
|
||||
# \date 2009-02-18 15:28GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all setup processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../configuration")
|
||||
if os.path.isfile("generate_all.log"):
|
||||
os.remove("generate_all.log")
|
||||
log = open("generate_all.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from tools import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Generate all")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
|
||||
try:
|
||||
subprocess.call([ "python", "generate_simple_max_exporters.py" ])
|
||||
except Exception, e:
|
||||
printLog(log, "<" + processName + "> " + str(e))
|
||||
printLog(log, "")
|
||||
|
||||
|
||||
try:
|
||||
subprocess.call([ "python", "generate_tagged_max_exporters.py" ])
|
||||
except Exception, e:
|
||||
printLog(log, "<" + processName + "> " + str(e))
|
||||
printLog(log, "")
|
||||
|
||||
|
||||
try:
|
||||
subprocess.call([ "python", "generate_ecosystem_projects.py" ])
|
||||
except Exception, e:
|
||||
printLog(log, "<" + processName + "> " + str(e))
|
||||
printLog(log, "")
|
||||
|
||||
|
||||
log.close()
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief Run all setup processes
|
||||
# \date 2009-02-18 15:28GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all setup processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../configuration")
|
||||
if os.path.isfile("generate_all.log"):
|
||||
os.remove("generate_all.log")
|
||||
log = open("generate_all.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from tools import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Generate all")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
|
||||
try:
|
||||
subprocess.call([ "python", "generate_simple_max_exporters.py" ])
|
||||
except Exception, e:
|
||||
printLog(log, "<" + processName + "> " + str(e))
|
||||
printLog(log, "")
|
||||
|
||||
|
||||
try:
|
||||
subprocess.call([ "python", "generate_tagged_max_exporters.py" ])
|
||||
except Exception, e:
|
||||
printLog(log, "<" + processName + "> " + str(e))
|
||||
printLog(log, "")
|
||||
|
||||
|
||||
try:
|
||||
subprocess.call([ "python", "generate_ecosystem_projects.py" ])
|
||||
except Exception, e:
|
||||
printLog(log, "<" + processName + "> " + str(e))
|
||||
printLog(log, "")
|
||||
|
||||
|
||||
log.close()
|
||||
|
@ -1,278 +1,278 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file generate_ecosystem_projects.py
|
||||
# \brief Run all setup processes
|
||||
# \date 2010-09-02 10:36GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Generate ecosystem projects
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../configuration")
|
||||
if os.path.isfile("generate_ecosystem_projects.log"):
|
||||
os.remove("generate_ecosystem_projects.log")
|
||||
log = open("generate_ecosystem_projects.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from tools import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Generate ecosystem projects")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
templateDir = os.getcwd().replace("\\", "/") + "/ecosystem_project_template"
|
||||
mkPath(log, templateDir)
|
||||
|
||||
os.chdir("..")
|
||||
|
||||
|
||||
# Scroll down to add an ecosystem.
|
||||
|
||||
|
||||
|
||||
DefaultShapeExportOptExportLighting = "true"
|
||||
DefaultShapeExportOptShadow = "true"
|
||||
DefaultShapeExportOptLightingLimit = "1"
|
||||
DefaultShapeExportOptLumelSize = "0.25"
|
||||
DefaultShapeExportOptOversampling = "1"
|
||||
DefaultShapeExportOpt8BitsLightmap = "true"
|
||||
DefaultShapeExportOptLightmapLog = "true"
|
||||
DefaultTextureMulSizeValue = "1.5"
|
||||
DefaultSeasonSuffixes = [ "sp" ] + [ "su" ] + [ "au" ] + [ "wi" ]
|
||||
DefaultMapSubdirectories = [ ]
|
||||
DefaultTileDirectories = [ ]
|
||||
|
||||
|
||||
ShapeExportOptExportLighting = DefaultShapeExportOptExportLighting
|
||||
ShapeExportOptShadow = DefaultShapeExportOptShadow
|
||||
ShapeExportOptLightingLimit = DefaultShapeExportOptLightingLimit
|
||||
ShapeExportOptLumelSize = DefaultShapeExportOptLumelSize
|
||||
ShapeExportOptOversampling = DefaultShapeExportOptOversampling
|
||||
ShapeExportOpt8BitsLightmap = DefaultShapeExportOpt8BitsLightmap
|
||||
ShapeExportOptLightmapLog = DefaultShapeExportOptLightmapLog
|
||||
TextureMulSizeValue = DefaultTextureMulSizeValue
|
||||
SeasonSuffixes = DefaultSeasonSuffixes
|
||||
MapSubdirectories = DefaultMapSubdirectories
|
||||
TileDirectories = DefaultTileDirectories
|
||||
|
||||
|
||||
PreGenDateTimeStamp = None
|
||||
PreGenEcosystemName = None
|
||||
PreGenDatabaseRootName = None
|
||||
PreGenCoarseMeshTextureNames = None
|
||||
PreGenMultipleTilesPostfix = None
|
||||
PreGenMapSubdirectories = None
|
||||
PreGenTileSourceDirectories = None
|
||||
|
||||
|
||||
def transformLine(line):
|
||||
newline = line.replace("%PreGenWarning%", "WARNING : this is a generated file, don't change it !")
|
||||
newline = newline.replace("%PreGenDateTimeStamp%", PreGenDateTimeStamp)
|
||||
|
||||
newline = newline.replace("%PreGenEcosystemName%", PreGenEcosystemName)
|
||||
newline = newline.replace("%PreGenDatabaseRootName%", PreGenDatabaseRootName)
|
||||
|
||||
newline = newline.replace("%PreGenCoarseMeshTextureNames%", PreGenCoarseMeshTextureNames)
|
||||
newline = newline.replace("%PreGenMultipleTilesPostfix%", PreGenMultipleTilesPostfix)
|
||||
newline = newline.replace("%PreGenMapSubdirectories%", PreGenMapSubdirectories)
|
||||
newline = newline.replace("%PreGenTileSourceDirectories%", PreGenTileSourceDirectories)
|
||||
|
||||
newline = newline.replace("%PreGenShapeExportOptExportLighting%", ShapeExportOptExportLighting)
|
||||
newline = newline.replace("%PreGenShapeExportOptShadow%", ShapeExportOptShadow)
|
||||
newline = newline.replace("%PreGenShapeExportOptLightingLimit%", ShapeExportOptLightingLimit)
|
||||
newline = newline.replace("%PreGenShapeExportOptLumelSize%", ShapeExportOptLumelSize)
|
||||
newline = newline.replace("%PreGenShapeExportOptOversampling%", ShapeExportOptOversampling)
|
||||
newline = newline.replace("%PreGenShapeExportOpt8BitsLightmap%", ShapeExportOpt8BitsLightmap)
|
||||
newline = newline.replace("%PreGenShapeExportOptLightmapLog%", ShapeExportOptLightmapLog)
|
||||
newline = newline.replace("%PreGenTextureMulSizeValue%", TextureMulSizeValue)
|
||||
newline = newline.replace("%PreGenTileSourceDirectories%", PreGenTileSourceDirectories)
|
||||
|
||||
return newline
|
||||
|
||||
def generateFile(sourceFile, destFile):
|
||||
srcf = open(sourceFile, "r")
|
||||
dstf = open(destFile, "w")
|
||||
printLog(log, "WRITE " + destFile)
|
||||
for line in srcf:
|
||||
dstf.write(transformLine(line))
|
||||
dstf.close()
|
||||
srcf.close()
|
||||
|
||||
def generateEcosystem(ecosystemName, databaseRootName):
|
||||
global PreGenEcosystemName
|
||||
PreGenEcosystemName = ecosystemName
|
||||
global PreGenDatabaseRootName
|
||||
PreGenDatabaseRootName = databaseRootName
|
||||
global PreGenDateTimeStamp
|
||||
PreGenDateTimeStamp = time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time()))
|
||||
|
||||
global PreGenMultipleTilesPostfix
|
||||
PreGenMultipleTilesPostfix = ""
|
||||
global PreGenCoarseMeshTextureNames
|
||||
PreGenCoarseMeshTextureNames = ""
|
||||
global PreGenTileSourceDirectories
|
||||
PreGenTileSourceDirectories = ""
|
||||
for suffix in SeasonSuffixes:
|
||||
PreGenMultipleTilesPostfix += "MultipleTilesPostfix += [ \"_" + suffix + "\" ]\n"
|
||||
PreGenCoarseMeshTextureNames += "CoarseMeshTextureNames += [ \"nel_coarse_mesh_\" + EcosystemName + \"_" + suffix + "\" ]\n"
|
||||
for tiledir in TileDirectories:
|
||||
PreGenTileSourceDirectories += "TilesSourceDirectories += [ \"landscape/_texture_tiles/\" + EcosystemName + \"_" + suffix + "/" + tiledir + "\" ]\n"
|
||||
global PreGenMapSubdirectories
|
||||
PreGenMapSubdirectories = ""
|
||||
for subdir in MapSubdirectories:
|
||||
PreGenMapSubdirectories += "MapSourceDirectories += [ DatabaseRootPath + \"/decors/_textures/" + subdir + "\" ]\n"
|
||||
|
||||
destDir = WorkspaceDirectory + "/ecosystems/" + ecosystemName
|
||||
mkPath(log, destDir)
|
||||
|
||||
generateFile(templateDir + "/process.py", destDir + "/process.py")
|
||||
generateFile(templateDir + "/directories.py", destDir + "/directories.py")
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
# Add new ecosystems below this line.
|
||||
|
||||
|
||||
|
||||
# DESERT
|
||||
ShapeExportOptExportLighting = DefaultShapeExportOptExportLighting
|
||||
ShapeExportOptShadow = DefaultShapeExportOptShadow
|
||||
ShapeExportOptLightingLimit = DefaultShapeExportOptLightingLimit
|
||||
ShapeExportOptLumelSize = DefaultShapeExportOptLumelSize
|
||||
ShapeExportOptOversampling = DefaultShapeExportOptOversampling
|
||||
ShapeExportOpt8BitsLightmap = DefaultShapeExportOpt8BitsLightmap
|
||||
ShapeExportOptLightmapLog = DefaultShapeExportOptLightmapLog
|
||||
TextureMulSizeValue = DefaultTextureMulSizeValue
|
||||
SeasonSuffixes = DefaultSeasonSuffixes
|
||||
MapSubdirectories = [ ]
|
||||
MapSubdirectories += [ "vegetations" ]
|
||||
TileDirectories = [ ]
|
||||
TileDirectories += [ "1.5-marecage_profond" ]
|
||||
TileDirectories += [ "1-marecages" ]
|
||||
TileDirectories += [ "2-citees" ]
|
||||
TileDirectories += [ "3-fond_canyon" ]
|
||||
TileDirectories += [ "4.2-boisbandeclair" ]
|
||||
TileDirectories += [ "4.5-desert2boisbande" ]
|
||||
TileDirectories += [ "4-falaise_bois_bande" ]
|
||||
TileDirectories += [ "5-falaise_normales" ]
|
||||
TileDirectories += [ "6.5-desertalternatif" ]
|
||||
TileDirectories += [ "6-desert" ]
|
||||
TileDirectories += [ "7-routes" ]
|
||||
TileDirectories += [ "8-foretbrule" ]
|
||||
generateEcosystem("desert", "fyros")
|
||||
|
||||
|
||||
# JUNGLE
|
||||
ShapeExportOptExportLighting = DefaultShapeExportOptExportLighting
|
||||
ShapeExportOptShadow = DefaultShapeExportOptShadow
|
||||
ShapeExportOptLightingLimit = DefaultShapeExportOptLightingLimit
|
||||
ShapeExportOptLumelSize = DefaultShapeExportOptLumelSize
|
||||
ShapeExportOptOversampling = DefaultShapeExportOptOversampling
|
||||
ShapeExportOpt8BitsLightmap = "false"
|
||||
ShapeExportOptLightmapLog = DefaultShapeExportOptLightmapLog
|
||||
TextureMulSizeValue = DefaultTextureMulSizeValue
|
||||
SeasonSuffixes = DefaultSeasonSuffixes
|
||||
MapSubdirectories = [ ]
|
||||
MapSubdirectories += [ "vegetations" ]
|
||||
TileDirectories = [ ]
|
||||
TileDirectories += [ "10-crevassejungle" ]
|
||||
TileDirectories += [ "11-paroisjungle" ]
|
||||
TileDirectories += [ "12-vasejungle" ]
|
||||
TileDirectories += [ "1-junglemousse" ]
|
||||
TileDirectories += [ "2-junglefeuilles" ]
|
||||
TileDirectories += [ "3-jungleherbesseche" ]
|
||||
TileDirectories += [ "4-jungleherbevieille" ]
|
||||
TileDirectories += [ "5-jungleterreaux" ]
|
||||
TileDirectories += [ "6-junglegoo" ]
|
||||
TileDirectories += [ "7-sciurejungle" ]
|
||||
TileDirectories += [ "8-terrejungle" ]
|
||||
TileDirectories += [ "9-falaisejungle" ]
|
||||
TileDirectories += [ "Transitions" ]
|
||||
generateEcosystem("jungle", "jungle")
|
||||
|
||||
|
||||
# PRIMES RACINES
|
||||
ShapeExportOptExportLighting = DefaultShapeExportOptExportLighting
|
||||
ShapeExportOptShadow = DefaultShapeExportOptShadow
|
||||
ShapeExportOptLightingLimit = DefaultShapeExportOptLightingLimit
|
||||
ShapeExportOptLumelSize = DefaultShapeExportOptLumelSize
|
||||
ShapeExportOptOversampling = DefaultShapeExportOptOversampling
|
||||
ShapeExportOpt8BitsLightmap = "false"
|
||||
ShapeExportOptLightmapLog = DefaultShapeExportOptLightmapLog
|
||||
TextureMulSizeValue = DefaultTextureMulSizeValue
|
||||
SeasonSuffixes = DefaultSeasonSuffixes
|
||||
MapSubdirectories = [ ]
|
||||
MapSubdirectories += [ "vegetations" ]
|
||||
MapSubdirectories += [ "batiments" ]
|
||||
TileDirectories = [ ]
|
||||
TileDirectories += [ "PR-creux" ]
|
||||
TileDirectories += [ "PR-dome-moussu" ]
|
||||
TileDirectories += [ "PR-kitiniere" ]
|
||||
TileDirectories += [ "PR-mousse-licken" ]
|
||||
TileDirectories += [ "PR-mousse-spongieus" ]
|
||||
TileDirectories += [ "PR-parois" ]
|
||||
TileDirectories += [ "PR-sol-mousse" ]
|
||||
TileDirectories += [ "PR-souche" ]
|
||||
TileDirectories += [ "PR-stalagmite" ]
|
||||
TileDirectories += [ "PR-terre" ]
|
||||
TileDirectories += [ "aditif" ]
|
||||
generateEcosystem("primes_racines", "primes_racines")
|
||||
|
||||
|
||||
# LACUSTRE
|
||||
ShapeExportOptExportLighting = DefaultShapeExportOptExportLighting
|
||||
ShapeExportOptShadow = DefaultShapeExportOptShadow
|
||||
ShapeExportOptLightingLimit = "0"
|
||||
ShapeExportOptLumelSize = DefaultShapeExportOptLumelSize
|
||||
ShapeExportOptOversampling = "8"
|
||||
ShapeExportOpt8BitsLightmap = "false"
|
||||
ShapeExportOptLightmapLog = DefaultShapeExportOptLightmapLog
|
||||
TextureMulSizeValue = DefaultTextureMulSizeValue
|
||||
SeasonSuffixes = DefaultSeasonSuffixes
|
||||
MapSubdirectories = [ ]
|
||||
MapSubdirectories += [ "vegetations" ]
|
||||
TileDirectories = [ ]
|
||||
TileDirectories += [ "1a-sable-marin" ]
|
||||
TileDirectories += [ "1-plages" ]
|
||||
TileDirectories += [ "2-iles" ]
|
||||
TileDirectories += [ "2-ilesa" ]
|
||||
TileDirectories += [ "2-iles-marines" ]
|
||||
TileDirectories += [ "3-fondmarin2plage" ]
|
||||
TileDirectories += [ "4-marecages" ]
|
||||
TileDirectories += [ "5-marecages" ]
|
||||
TileDirectories += [ "5-parois-marine" ]
|
||||
TileDirectories += [ "6-fond_marin" ]
|
||||
TileDirectories += [ "7-bassesiles" ]
|
||||
TileDirectories += [ "7-mousseter" ]
|
||||
TileDirectories += [ "7-racines" ]
|
||||
TileDirectories += [ "8-mousse_marine" ]
|
||||
TileDirectories += [ "constructible" ]
|
||||
generateEcosystem("lacustre", "tryker")
|
||||
|
||||
|
||||
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file generate_ecosystem_projects.py
|
||||
# \brief Run all setup processes
|
||||
# \date 2010-09-02 10:36GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Generate ecosystem projects
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../configuration")
|
||||
if os.path.isfile("generate_ecosystem_projects.log"):
|
||||
os.remove("generate_ecosystem_projects.log")
|
||||
log = open("generate_ecosystem_projects.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from tools import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Generate ecosystem projects")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
templateDir = os.getcwd().replace("\\", "/") + "/ecosystem_project_template"
|
||||
mkPath(log, templateDir)
|
||||
|
||||
os.chdir("..")
|
||||
|
||||
|
||||
# Scroll down to add an ecosystem.
|
||||
|
||||
|
||||
|
||||
DefaultShapeExportOptExportLighting = "true"
|
||||
DefaultShapeExportOptShadow = "true"
|
||||
DefaultShapeExportOptLightingLimit = "1"
|
||||
DefaultShapeExportOptLumelSize = "0.25"
|
||||
DefaultShapeExportOptOversampling = "1"
|
||||
DefaultShapeExportOpt8BitsLightmap = "true"
|
||||
DefaultShapeExportOptLightmapLog = "true"
|
||||
DefaultTextureMulSizeValue = "1.5"
|
||||
DefaultSeasonSuffixes = [ "sp" ] + [ "su" ] + [ "au" ] + [ "wi" ]
|
||||
DefaultMapSubdirectories = [ ]
|
||||
DefaultTileDirectories = [ ]
|
||||
|
||||
|
||||
ShapeExportOptExportLighting = DefaultShapeExportOptExportLighting
|
||||
ShapeExportOptShadow = DefaultShapeExportOptShadow
|
||||
ShapeExportOptLightingLimit = DefaultShapeExportOptLightingLimit
|
||||
ShapeExportOptLumelSize = DefaultShapeExportOptLumelSize
|
||||
ShapeExportOptOversampling = DefaultShapeExportOptOversampling
|
||||
ShapeExportOpt8BitsLightmap = DefaultShapeExportOpt8BitsLightmap
|
||||
ShapeExportOptLightmapLog = DefaultShapeExportOptLightmapLog
|
||||
TextureMulSizeValue = DefaultTextureMulSizeValue
|
||||
SeasonSuffixes = DefaultSeasonSuffixes
|
||||
MapSubdirectories = DefaultMapSubdirectories
|
||||
TileDirectories = DefaultTileDirectories
|
||||
|
||||
|
||||
PreGenDateTimeStamp = None
|
||||
PreGenEcosystemName = None
|
||||
PreGenDatabaseRootName = None
|
||||
PreGenCoarseMeshTextureNames = None
|
||||
PreGenMultipleTilesPostfix = None
|
||||
PreGenMapSubdirectories = None
|
||||
PreGenTileSourceDirectories = None
|
||||
|
||||
|
||||
def transformLine(line):
|
||||
newline = line.replace("%PreGenWarning%", "WARNING : this is a generated file, don't change it !")
|
||||
newline = newline.replace("%PreGenDateTimeStamp%", PreGenDateTimeStamp)
|
||||
|
||||
newline = newline.replace("%PreGenEcosystemName%", PreGenEcosystemName)
|
||||
newline = newline.replace("%PreGenDatabaseRootName%", PreGenDatabaseRootName)
|
||||
|
||||
newline = newline.replace("%PreGenCoarseMeshTextureNames%", PreGenCoarseMeshTextureNames)
|
||||
newline = newline.replace("%PreGenMultipleTilesPostfix%", PreGenMultipleTilesPostfix)
|
||||
newline = newline.replace("%PreGenMapSubdirectories%", PreGenMapSubdirectories)
|
||||
newline = newline.replace("%PreGenTileSourceDirectories%", PreGenTileSourceDirectories)
|
||||
|
||||
newline = newline.replace("%PreGenShapeExportOptExportLighting%", ShapeExportOptExportLighting)
|
||||
newline = newline.replace("%PreGenShapeExportOptShadow%", ShapeExportOptShadow)
|
||||
newline = newline.replace("%PreGenShapeExportOptLightingLimit%", ShapeExportOptLightingLimit)
|
||||
newline = newline.replace("%PreGenShapeExportOptLumelSize%", ShapeExportOptLumelSize)
|
||||
newline = newline.replace("%PreGenShapeExportOptOversampling%", ShapeExportOptOversampling)
|
||||
newline = newline.replace("%PreGenShapeExportOpt8BitsLightmap%", ShapeExportOpt8BitsLightmap)
|
||||
newline = newline.replace("%PreGenShapeExportOptLightmapLog%", ShapeExportOptLightmapLog)
|
||||
newline = newline.replace("%PreGenTextureMulSizeValue%", TextureMulSizeValue)
|
||||
newline = newline.replace("%PreGenTileSourceDirectories%", PreGenTileSourceDirectories)
|
||||
|
||||
return newline
|
||||
|
||||
def generateFile(sourceFile, destFile):
|
||||
srcf = open(sourceFile, "r")
|
||||
dstf = open(destFile, "w")
|
||||
printLog(log, "WRITE " + destFile)
|
||||
for line in srcf:
|
||||
dstf.write(transformLine(line))
|
||||
dstf.close()
|
||||
srcf.close()
|
||||
|
||||
def generateEcosystem(ecosystemName, databaseRootName):
|
||||
global PreGenEcosystemName
|
||||
PreGenEcosystemName = ecosystemName
|
||||
global PreGenDatabaseRootName
|
||||
PreGenDatabaseRootName = databaseRootName
|
||||
global PreGenDateTimeStamp
|
||||
PreGenDateTimeStamp = time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time()))
|
||||
|
||||
global PreGenMultipleTilesPostfix
|
||||
PreGenMultipleTilesPostfix = ""
|
||||
global PreGenCoarseMeshTextureNames
|
||||
PreGenCoarseMeshTextureNames = ""
|
||||
global PreGenTileSourceDirectories
|
||||
PreGenTileSourceDirectories = ""
|
||||
for suffix in SeasonSuffixes:
|
||||
PreGenMultipleTilesPostfix += "MultipleTilesPostfix += [ \"_" + suffix + "\" ]\n"
|
||||
PreGenCoarseMeshTextureNames += "CoarseMeshTextureNames += [ \"nel_coarse_mesh_\" + EcosystemName + \"_" + suffix + "\" ]\n"
|
||||
for tiledir in TileDirectories:
|
||||
PreGenTileSourceDirectories += "TilesSourceDirectories += [ \"landscape/_texture_tiles/\" + EcosystemName + \"_" + suffix + "/" + tiledir + "\" ]\n"
|
||||
global PreGenMapSubdirectories
|
||||
PreGenMapSubdirectories = ""
|
||||
for subdir in MapSubdirectories:
|
||||
PreGenMapSubdirectories += "MapSourceDirectories += [ DatabaseRootPath + \"/decors/_textures/" + subdir + "\" ]\n"
|
||||
|
||||
destDir = WorkspaceDirectory + "/ecosystems/" + ecosystemName
|
||||
mkPath(log, destDir)
|
||||
|
||||
generateFile(templateDir + "/process.py", destDir + "/process.py")
|
||||
generateFile(templateDir + "/directories.py", destDir + "/directories.py")
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
# Add new ecosystems below this line.
|
||||
|
||||
|
||||
|
||||
# DESERT
|
||||
ShapeExportOptExportLighting = DefaultShapeExportOptExportLighting
|
||||
ShapeExportOptShadow = DefaultShapeExportOptShadow
|
||||
ShapeExportOptLightingLimit = DefaultShapeExportOptLightingLimit
|
||||
ShapeExportOptLumelSize = DefaultShapeExportOptLumelSize
|
||||
ShapeExportOptOversampling = DefaultShapeExportOptOversampling
|
||||
ShapeExportOpt8BitsLightmap = DefaultShapeExportOpt8BitsLightmap
|
||||
ShapeExportOptLightmapLog = DefaultShapeExportOptLightmapLog
|
||||
TextureMulSizeValue = DefaultTextureMulSizeValue
|
||||
SeasonSuffixes = DefaultSeasonSuffixes
|
||||
MapSubdirectories = [ ]
|
||||
MapSubdirectories += [ "vegetations" ]
|
||||
TileDirectories = [ ]
|
||||
TileDirectories += [ "1.5-marecage_profond" ]
|
||||
TileDirectories += [ "1-marecages" ]
|
||||
TileDirectories += [ "2-citees" ]
|
||||
TileDirectories += [ "3-fond_canyon" ]
|
||||
TileDirectories += [ "4.2-boisbandeclair" ]
|
||||
TileDirectories += [ "4.5-desert2boisbande" ]
|
||||
TileDirectories += [ "4-falaise_bois_bande" ]
|
||||
TileDirectories += [ "5-falaise_normales" ]
|
||||
TileDirectories += [ "6.5-desertalternatif" ]
|
||||
TileDirectories += [ "6-desert" ]
|
||||
TileDirectories += [ "7-routes" ]
|
||||
TileDirectories += [ "8-foretbrule" ]
|
||||
generateEcosystem("desert", "fyros")
|
||||
|
||||
|
||||
# JUNGLE
|
||||
ShapeExportOptExportLighting = DefaultShapeExportOptExportLighting
|
||||
ShapeExportOptShadow = DefaultShapeExportOptShadow
|
||||
ShapeExportOptLightingLimit = DefaultShapeExportOptLightingLimit
|
||||
ShapeExportOptLumelSize = DefaultShapeExportOptLumelSize
|
||||
ShapeExportOptOversampling = DefaultShapeExportOptOversampling
|
||||
ShapeExportOpt8BitsLightmap = "false"
|
||||
ShapeExportOptLightmapLog = DefaultShapeExportOptLightmapLog
|
||||
TextureMulSizeValue = DefaultTextureMulSizeValue
|
||||
SeasonSuffixes = DefaultSeasonSuffixes
|
||||
MapSubdirectories = [ ]
|
||||
MapSubdirectories += [ "vegetations" ]
|
||||
TileDirectories = [ ]
|
||||
TileDirectories += [ "10-crevassejungle" ]
|
||||
TileDirectories += [ "11-paroisjungle" ]
|
||||
TileDirectories += [ "12-vasejungle" ]
|
||||
TileDirectories += [ "1-junglemousse" ]
|
||||
TileDirectories += [ "2-junglefeuilles" ]
|
||||
TileDirectories += [ "3-jungleherbesseche" ]
|
||||
TileDirectories += [ "4-jungleherbevieille" ]
|
||||
TileDirectories += [ "5-jungleterreaux" ]
|
||||
TileDirectories += [ "6-junglegoo" ]
|
||||
TileDirectories += [ "7-sciurejungle" ]
|
||||
TileDirectories += [ "8-terrejungle" ]
|
||||
TileDirectories += [ "9-falaisejungle" ]
|
||||
TileDirectories += [ "Transitions" ]
|
||||
generateEcosystem("jungle", "jungle")
|
||||
|
||||
|
||||
# PRIMES RACINES
|
||||
ShapeExportOptExportLighting = DefaultShapeExportOptExportLighting
|
||||
ShapeExportOptShadow = DefaultShapeExportOptShadow
|
||||
ShapeExportOptLightingLimit = DefaultShapeExportOptLightingLimit
|
||||
ShapeExportOptLumelSize = DefaultShapeExportOptLumelSize
|
||||
ShapeExportOptOversampling = DefaultShapeExportOptOversampling
|
||||
ShapeExportOpt8BitsLightmap = "false"
|
||||
ShapeExportOptLightmapLog = DefaultShapeExportOptLightmapLog
|
||||
TextureMulSizeValue = DefaultTextureMulSizeValue
|
||||
SeasonSuffixes = DefaultSeasonSuffixes
|
||||
MapSubdirectories = [ ]
|
||||
MapSubdirectories += [ "vegetations" ]
|
||||
MapSubdirectories += [ "batiments" ]
|
||||
TileDirectories = [ ]
|
||||
TileDirectories += [ "PR-creux" ]
|
||||
TileDirectories += [ "PR-dome-moussu" ]
|
||||
TileDirectories += [ "PR-kitiniere" ]
|
||||
TileDirectories += [ "PR-mousse-licken" ]
|
||||
TileDirectories += [ "PR-mousse-spongieus" ]
|
||||
TileDirectories += [ "PR-parois" ]
|
||||
TileDirectories += [ "PR-sol-mousse" ]
|
||||
TileDirectories += [ "PR-souche" ]
|
||||
TileDirectories += [ "PR-stalagmite" ]
|
||||
TileDirectories += [ "PR-terre" ]
|
||||
TileDirectories += [ "aditif" ]
|
||||
generateEcosystem("primes_racines", "primes_racines")
|
||||
|
||||
|
||||
# LACUSTRE
|
||||
ShapeExportOptExportLighting = DefaultShapeExportOptExportLighting
|
||||
ShapeExportOptShadow = DefaultShapeExportOptShadow
|
||||
ShapeExportOptLightingLimit = "0"
|
||||
ShapeExportOptLumelSize = DefaultShapeExportOptLumelSize
|
||||
ShapeExportOptOversampling = "8"
|
||||
ShapeExportOpt8BitsLightmap = "false"
|
||||
ShapeExportOptLightmapLog = DefaultShapeExportOptLightmapLog
|
||||
TextureMulSizeValue = DefaultTextureMulSizeValue
|
||||
SeasonSuffixes = DefaultSeasonSuffixes
|
||||
MapSubdirectories = [ ]
|
||||
MapSubdirectories += [ "vegetations" ]
|
||||
TileDirectories = [ ]
|
||||
TileDirectories += [ "1a-sable-marin" ]
|
||||
TileDirectories += [ "1-plages" ]
|
||||
TileDirectories += [ "2-iles" ]
|
||||
TileDirectories += [ "2-ilesa" ]
|
||||
TileDirectories += [ "2-iles-marines" ]
|
||||
TileDirectories += [ "3-fondmarin2plage" ]
|
||||
TileDirectories += [ "4-marecages" ]
|
||||
TileDirectories += [ "5-marecages" ]
|
||||
TileDirectories += [ "5-parois-marine" ]
|
||||
TileDirectories += [ "6-fond_marin" ]
|
||||
TileDirectories += [ "7-bassesiles" ]
|
||||
TileDirectories += [ "7-mousseter" ]
|
||||
TileDirectories += [ "7-racines" ]
|
||||
TileDirectories += [ "8-mousse_marine" ]
|
||||
TileDirectories += [ "constructible" ]
|
||||
generateEcosystem("lacustre", "tryker")
|
||||
|
||||
|
||||
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
@ -1,100 +1,100 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief Run all setup processes
|
||||
# \date 2009-02-18 15:28GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all setup processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../configuration")
|
||||
if os.path.isfile("generate_simple_max_exporters.log"):
|
||||
os.remove("generate_simple_max_exporters.log")
|
||||
log = open("generate_simple_max_exporters.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from tools import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Generate simple max exporters")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
def processLine(line, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp):
|
||||
newline = line.replace("%PreGenWarning%", "WARNING : this is a generated file, don't change it !")
|
||||
newline = newline.replace("%PreGenDateTimeStamp%", dateTimeStamp)
|
||||
newline = newline.replace("%PreGenProcessName%", processName)
|
||||
newline = newline.replace("%PreGenFileExtension%", fileExtension)
|
||||
newline = newline.replace("%PreGenSourceDirectoriesVariable%", sourceDirectoriesVariable)
|
||||
newline = newline.replace("%PreGenExportDirectoryVariable%", exportDirectoryVariable)
|
||||
newline = newline.replace("%PreGenInstallDirectoryVariable%", clientDirectoryVariable)
|
||||
return newline
|
||||
|
||||
def generateSimpleMaxExporterFile(sourceFile, destFile, writeMode, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp):
|
||||
srcf = open(sourceFile, "r")
|
||||
dstf = open(destFile, writeMode)
|
||||
printLog(log, "WRITE " + destFile + " " + writeMode)
|
||||
for line in srcf:
|
||||
dstf.write(processLine(line, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp))
|
||||
dstf.close()
|
||||
srcf.close()
|
||||
|
||||
def generateSimpleMaxExporter(processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable):
|
||||
dateTimeStamp = time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time()))
|
||||
processDir = ScriptDirectory + "/processes/" + processName
|
||||
mkPath(log, processDir)
|
||||
maxscriptDir = processDir + "/maxscript"
|
||||
mkPath(log, maxscriptDir)
|
||||
templateDir = os.getcwd().replace("\\", "/") + "/simple_max_exporter_template"
|
||||
mkPath(log, templateDir)
|
||||
scriptDir = os.getcwd().replace("\\", "/") + "/max_exporter_scripts"
|
||||
mkPath(log, scriptDir)
|
||||
|
||||
if not os.path.isfile(processDir + "/0_setup.py"):
|
||||
generateSimpleMaxExporterFile(templateDir + "/0_setup.py", processDir + "/0_setup.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
generateSimpleMaxExporterFile(templateDir + "/1_export_header.py", processDir + "/1_export.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateSimpleMaxExporterFile(scriptDir + "/" + fileExtension + ".py", processDir + "/1_export.py", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateSimpleMaxExporterFile(templateDir + "/1_export_footer.py", processDir + "/1_export.py", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
if not os.path.isfile(processDir + "/2_build.py"):
|
||||
generateSimpleMaxExporterFile(templateDir + "/2_build.py", processDir + "/2_build.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
if not os.path.isfile(processDir + "/3_install.py"):
|
||||
generateSimpleMaxExporterFile(templateDir + "/3_install.py", processDir + "/3_install.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
generateSimpleMaxExporterFile(templateDir + "/export_header.ms", maxscriptDir + "/" + fileExtension + "_export.ms", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateSimpleMaxExporterFile(scriptDir + "/" + fileExtension + ".ms", maxscriptDir + "/" + fileExtension + "_export.ms", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateSimpleMaxExporterFile(templateDir + "/export_footer.ms", maxscriptDir + "/" + fileExtension + "_export.ms", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
|
||||
|
||||
generateSimpleMaxExporter("skel", "skel", "SkelSourceDirectories", "SkelExportDirectory", "SkelInstallDirectory")
|
||||
|
||||
generateSimpleMaxExporter("swt", "swt", "SwtSourceDirectories", "SwtExportDirectory", "SwtInstallDirectory")
|
||||
|
||||
generateSimpleMaxExporter("zone", "zone", "ZoneSourceDirectory", "ZoneExportDirectory", "ZoneInstallDirectory")
|
||||
|
||||
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief Run all setup processes
|
||||
# \date 2009-02-18 15:28GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all setup processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../configuration")
|
||||
if os.path.isfile("generate_simple_max_exporters.log"):
|
||||
os.remove("generate_simple_max_exporters.log")
|
||||
log = open("generate_simple_max_exporters.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from tools import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Generate simple max exporters")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
def processLine(line, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp):
|
||||
newline = line.replace("%PreGenWarning%", "WARNING : this is a generated file, don't change it !")
|
||||
newline = newline.replace("%PreGenDateTimeStamp%", dateTimeStamp)
|
||||
newline = newline.replace("%PreGenProcessName%", processName)
|
||||
newline = newline.replace("%PreGenFileExtension%", fileExtension)
|
||||
newline = newline.replace("%PreGenSourceDirectoriesVariable%", sourceDirectoriesVariable)
|
||||
newline = newline.replace("%PreGenExportDirectoryVariable%", exportDirectoryVariable)
|
||||
newline = newline.replace("%PreGenInstallDirectoryVariable%", clientDirectoryVariable)
|
||||
return newline
|
||||
|
||||
def generateSimpleMaxExporterFile(sourceFile, destFile, writeMode, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp):
|
||||
srcf = open(sourceFile, "r")
|
||||
dstf = open(destFile, writeMode)
|
||||
printLog(log, "WRITE " + destFile + " " + writeMode)
|
||||
for line in srcf:
|
||||
dstf.write(processLine(line, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp))
|
||||
dstf.close()
|
||||
srcf.close()
|
||||
|
||||
def generateSimpleMaxExporter(processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable):
|
||||
dateTimeStamp = time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time()))
|
||||
processDir = ScriptDirectory + "/processes/" + processName
|
||||
mkPath(log, processDir)
|
||||
maxscriptDir = processDir + "/maxscript"
|
||||
mkPath(log, maxscriptDir)
|
||||
templateDir = os.getcwd().replace("\\", "/") + "/simple_max_exporter_template"
|
||||
mkPath(log, templateDir)
|
||||
scriptDir = os.getcwd().replace("\\", "/") + "/max_exporter_scripts"
|
||||
mkPath(log, scriptDir)
|
||||
|
||||
if not os.path.isfile(processDir + "/0_setup.py"):
|
||||
generateSimpleMaxExporterFile(templateDir + "/0_setup.py", processDir + "/0_setup.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
generateSimpleMaxExporterFile(templateDir + "/1_export_header.py", processDir + "/1_export.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateSimpleMaxExporterFile(scriptDir + "/" + fileExtension + ".py", processDir + "/1_export.py", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateSimpleMaxExporterFile(templateDir + "/1_export_footer.py", processDir + "/1_export.py", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
if not os.path.isfile(processDir + "/2_build.py"):
|
||||
generateSimpleMaxExporterFile(templateDir + "/2_build.py", processDir + "/2_build.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
if not os.path.isfile(processDir + "/3_install.py"):
|
||||
generateSimpleMaxExporterFile(templateDir + "/3_install.py", processDir + "/3_install.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
generateSimpleMaxExporterFile(templateDir + "/export_header.ms", maxscriptDir + "/" + fileExtension + "_export.ms", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateSimpleMaxExporterFile(scriptDir + "/" + fileExtension + ".ms", maxscriptDir + "/" + fileExtension + "_export.ms", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateSimpleMaxExporterFile(templateDir + "/export_footer.ms", maxscriptDir + "/" + fileExtension + "_export.ms", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
|
||||
|
||||
generateSimpleMaxExporter("skel", "skel", "SkelSourceDirectories", "SkelExportDirectory", "SkelInstallDirectory")
|
||||
|
||||
generateSimpleMaxExporter("swt", "swt", "SwtSourceDirectories", "SwtExportDirectory", "SwtInstallDirectory")
|
||||
|
||||
generateSimpleMaxExporter("zone", "zone", "ZoneSourceDirectory", "ZoneExportDirectory", "ZoneInstallDirectory")
|
||||
|
||||
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
@ -1,120 +1,120 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief Run all setup processes
|
||||
# \date 2009-02-18 15:28GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all setup processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../configuration")
|
||||
if os.path.isfile("generate_tagged_max_exporters.log"):
|
||||
os.remove("generate_tagged_max_exporters.log")
|
||||
log = open("generate_tagged_max_exporters.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from tools import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Generate tagged max exporters")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
templateDir = os.getcwd().replace("\\", "/") + "/tagged_max_exporter_template"
|
||||
mkPath(log, templateDir)
|
||||
scriptDir = os.getcwd().replace("\\", "/") + "/max_exporter_scripts"
|
||||
mkPath(log, scriptDir)
|
||||
|
||||
def processLine(line, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp):
|
||||
newline = line.replace("%PreGenWarning%", "WARNING : this is a generated file, don't change it !")
|
||||
newline = newline.replace("%PreGenDateTimeStamp%", dateTimeStamp)
|
||||
newline = newline.replace("%PreGenProcessName%", processName)
|
||||
newline = newline.replace("%PreGenFileExtension%", fileExtension)
|
||||
newline = newline.replace("%PreGenSourceDirectoriesVariable%", sourceDirectoriesVariable)
|
||||
newline = newline.replace("%PreGenExportDirectoryVariable%", exportDirectoryVariable)
|
||||
newline = newline.replace("%PreGenTagExportDirectoryVariable%", tagExportDirectoryVariable)
|
||||
newline = newline.replace("%PreGenInstallDirectoryVariable%", clientDirectoryVariable)
|
||||
return newline
|
||||
|
||||
def generateTaggedMaxExporterFile(sourceFile, destFile, writeMode, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp):
|
||||
srcf = open(sourceFile, "r")
|
||||
dstf = open(destFile, writeMode)
|
||||
printLog(log, "WRITE " + destFile + " " + writeMode)
|
||||
for line in srcf:
|
||||
dstf.write(processLine(line, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp))
|
||||
dstf.close()
|
||||
srcf.close()
|
||||
|
||||
def generateTaggedMaxScriptFile(processDir, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp):
|
||||
maxscriptDir = processDir + "/maxscript"
|
||||
mkPath(log, maxscriptDir)
|
||||
generateTaggedMaxExporterFile(templateDir + "/export_header.ms", maxscriptDir + "/" + fileExtension + "_export.ms", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateTaggedMaxExporterFile(scriptDir + "/" + fileExtension + ".ms", maxscriptDir + "/" + fileExtension + "_export.ms", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateTaggedMaxExporterFile(templateDir + "/export_footer.ms", maxscriptDir + "/" + fileExtension + "_export.ms", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
def generateTaggedMaxScript(processName, fileExtension):
|
||||
dateTimeStamp = time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time()))
|
||||
processDir = ScriptDirectory + "/processes/" + processName
|
||||
mkPath(log, processDir)
|
||||
|
||||
generateTaggedMaxScriptFile(processDir, processName, fileExtension, "_invalid", "_invalid", "_invalid", "_invalid", dateTimeStamp)
|
||||
|
||||
def generateTaggedMaxExporter(processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable):
|
||||
dateTimeStamp = time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time()))
|
||||
processDir = ScriptDirectory + "/processes/" + processName
|
||||
mkPath(log, processDir)
|
||||
|
||||
if not os.path.isfile(processDir + "/0_setup.py"):
|
||||
generateTaggedMaxExporterFile(templateDir + "/0_setup.py", processDir + "/0_setup.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
generateTaggedMaxExporterFile(templateDir + "/1_export_header.py", processDir + "/1_export.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateTaggedMaxExporterFile(scriptDir + "/" + fileExtension + ".py", processDir + "/1_export.py", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateTaggedMaxExporterFile(templateDir + "/1_export_footer.py", processDir + "/1_export.py", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
if not os.path.isfile(processDir + "/2_build.py"):
|
||||
generateTaggedMaxExporterFile(templateDir + "/2_build.py", processDir + "/2_build.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
if not os.path.isfile(processDir + "/3_install.py"):
|
||||
generateTaggedMaxExporterFile(templateDir + "/3_install.py", processDir + "/3_install.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
generateTaggedMaxScriptFile(processDir, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
|
||||
|
||||
generateTaggedMaxExporter("pacs_prim", "pacs_prim", "PacsPrimSourceDirectories", "PacsPrimExportDirectory", "PacsPrimTagExportDirectory", "PacsPrimInstallDirectory")
|
||||
|
||||
generateTaggedMaxExporter("clodbank", "clod", "ClodSourceDirectories", "ClodExportDirectory", "ClodTagExportDirectory", "ClodInstallDirectory")
|
||||
|
||||
generateTaggedMaxScript("ig", "ig")
|
||||
|
||||
generateTaggedMaxExporter("rbank", "cmb", "RBankCmbSourceDirectories", "RBankCmbExportDirectory", "RBankCmbTagExportDirectory", "PacsInstallDirectory")
|
||||
|
||||
generateTaggedMaxExporter("veget", "veget", "VegetSourceDirectories", "VegetExportDirectory", "VegetTagExportDirectory", "VegetInstallDirectory")
|
||||
|
||||
generateTaggedMaxScript("shape", "shape")
|
||||
|
||||
generateTaggedMaxExporter("anim", "anim", "AnimSourceDirectories", "AnimExportDirectory", "AnimTagExportDirectory", "AnimInstallDirectory")
|
||||
|
||||
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief Run all setup processes
|
||||
# \date 2009-02-18 15:28GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Run all setup processes
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../configuration")
|
||||
if os.path.isfile("generate_tagged_max_exporters.log"):
|
||||
os.remove("generate_tagged_max_exporters.log")
|
||||
log = open("generate_tagged_max_exporters.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from tools import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Generate tagged max exporters")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
templateDir = os.getcwd().replace("\\", "/") + "/tagged_max_exporter_template"
|
||||
mkPath(log, templateDir)
|
||||
scriptDir = os.getcwd().replace("\\", "/") + "/max_exporter_scripts"
|
||||
mkPath(log, scriptDir)
|
||||
|
||||
def processLine(line, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp):
|
||||
newline = line.replace("%PreGenWarning%", "WARNING : this is a generated file, don't change it !")
|
||||
newline = newline.replace("%PreGenDateTimeStamp%", dateTimeStamp)
|
||||
newline = newline.replace("%PreGenProcessName%", processName)
|
||||
newline = newline.replace("%PreGenFileExtension%", fileExtension)
|
||||
newline = newline.replace("%PreGenSourceDirectoriesVariable%", sourceDirectoriesVariable)
|
||||
newline = newline.replace("%PreGenExportDirectoryVariable%", exportDirectoryVariable)
|
||||
newline = newline.replace("%PreGenTagExportDirectoryVariable%", tagExportDirectoryVariable)
|
||||
newline = newline.replace("%PreGenInstallDirectoryVariable%", clientDirectoryVariable)
|
||||
return newline
|
||||
|
||||
def generateTaggedMaxExporterFile(sourceFile, destFile, writeMode, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp):
|
||||
srcf = open(sourceFile, "r")
|
||||
dstf = open(destFile, writeMode)
|
||||
printLog(log, "WRITE " + destFile + " " + writeMode)
|
||||
for line in srcf:
|
||||
dstf.write(processLine(line, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp))
|
||||
dstf.close()
|
||||
srcf.close()
|
||||
|
||||
def generateTaggedMaxScriptFile(processDir, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp):
|
||||
maxscriptDir = processDir + "/maxscript"
|
||||
mkPath(log, maxscriptDir)
|
||||
generateTaggedMaxExporterFile(templateDir + "/export_header.ms", maxscriptDir + "/" + fileExtension + "_export.ms", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateTaggedMaxExporterFile(scriptDir + "/" + fileExtension + ".ms", maxscriptDir + "/" + fileExtension + "_export.ms", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateTaggedMaxExporterFile(templateDir + "/export_footer.ms", maxscriptDir + "/" + fileExtension + "_export.ms", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
def generateTaggedMaxScript(processName, fileExtension):
|
||||
dateTimeStamp = time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time()))
|
||||
processDir = ScriptDirectory + "/processes/" + processName
|
||||
mkPath(log, processDir)
|
||||
|
||||
generateTaggedMaxScriptFile(processDir, processName, fileExtension, "_invalid", "_invalid", "_invalid", "_invalid", dateTimeStamp)
|
||||
|
||||
def generateTaggedMaxExporter(processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable):
|
||||
dateTimeStamp = time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time()))
|
||||
processDir = ScriptDirectory + "/processes/" + processName
|
||||
mkPath(log, processDir)
|
||||
|
||||
if not os.path.isfile(processDir + "/0_setup.py"):
|
||||
generateTaggedMaxExporterFile(templateDir + "/0_setup.py", processDir + "/0_setup.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
generateTaggedMaxExporterFile(templateDir + "/1_export_header.py", processDir + "/1_export.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateTaggedMaxExporterFile(scriptDir + "/" + fileExtension + ".py", processDir + "/1_export.py", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
generateTaggedMaxExporterFile(templateDir + "/1_export_footer.py", processDir + "/1_export.py", "a", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
if not os.path.isfile(processDir + "/2_build.py"):
|
||||
generateTaggedMaxExporterFile(templateDir + "/2_build.py", processDir + "/2_build.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
if not os.path.isfile(processDir + "/3_install.py"):
|
||||
generateTaggedMaxExporterFile(templateDir + "/3_install.py", processDir + "/3_install.py", "w", processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
generateTaggedMaxScriptFile(processDir, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp)
|
||||
|
||||
|
||||
|
||||
generateTaggedMaxExporter("pacs_prim", "pacs_prim", "PacsPrimSourceDirectories", "PacsPrimExportDirectory", "PacsPrimTagExportDirectory", "PacsPrimInstallDirectory")
|
||||
|
||||
generateTaggedMaxExporter("clodbank", "clod", "ClodSourceDirectories", "ClodExportDirectory", "ClodTagExportDirectory", "ClodInstallDirectory")
|
||||
|
||||
generateTaggedMaxScript("ig", "ig")
|
||||
|
||||
generateTaggedMaxExporter("rbank", "cmb", "RBankCmbSourceDirectories", "RBankCmbExportDirectory", "RBankCmbTagExportDirectory", "PacsInstallDirectory")
|
||||
|
||||
generateTaggedMaxExporter("veget", "veget", "VegetSourceDirectories", "VegetExportDirectory", "VegetTagExportDirectory", "VegetInstallDirectory")
|
||||
|
||||
generateTaggedMaxScript("shape", "shape")
|
||||
|
||||
generateTaggedMaxExporter("anim", "anim", "AnimSourceDirectories", "AnimExportDirectory", "AnimTagExportDirectory", "AnimInstallDirectory")
|
||||
|
||||
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
|
||||
# Remove bad file from previous script version
|
||||
listPath = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable% + "/landscape_col_prim_pacs_list.txt"
|
||||
if os.path.isfile(listPath):
|
||||
os.remove(listPath)
|
||||
|
||||
|
||||
|
||||
# Remove bad file from previous script version
|
||||
listPath = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable% + "/landscape_col_prim_pacs_list.txt"
|
||||
if os.path.isfile(listPath):
|
||||
os.remove(listPath)
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
|
||||
|
||||
printLog(log, ">>> Export skel directly <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + SkelExportDirectory)
|
||||
for dir in SkelSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + SkelExportDirectory, ".skel")
|
||||
|
||||
|
||||
|
||||
printLog(log, ">>> Export skel directly <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + SkelExportDirectory)
|
||||
for dir in SkelSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + SkelExportDirectory, ".skel")
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
|
||||
|
||||
printLog(log, ">>> Try to copy ligo zone if any <<<")
|
||||
printLog(log, "********************************")
|
||||
printLog(log, "******** TODO ********")
|
||||
printLog(log, "********************************")
|
||||
printLog(log, "")
|
||||
|
||||
|
||||
|
||||
printLog(log, ">>> Try to copy ligo zone if any <<<")
|
||||
printLog(log, "********************************")
|
||||
printLog(log, "******** TODO ********")
|
||||
printLog(log, "********************************")
|
||||
printLog(log, "")
|
||||
|
||||
|
@ -1,65 +1,65 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief setup %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Setup %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Setup %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Setup source directories
|
||||
printLog(log, ">>> Setup source directories <<<")
|
||||
for dir in %PreGenSourceDirectoriesVariable%:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
|
||||
# Setup export directories
|
||||
printLog(log, ">>> Setup export directories <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%)
|
||||
|
||||
# Setup build directories
|
||||
printLog(log, ">>> Setup build directories <<<")
|
||||
|
||||
# Setup client directories
|
||||
printLog(log, ">>> Setup client directories <<<")
|
||||
mkPath(log, InstallDirectory + "/" + %PreGenInstallDirectoryVariable%)
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief setup %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Setup %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Setup %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Setup source directories
|
||||
printLog(log, ">>> Setup source directories <<<")
|
||||
for dir in %PreGenSourceDirectoriesVariable%:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
|
||||
# Setup export directories
|
||||
printLog(log, ">>> Setup export directories <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%)
|
||||
|
||||
# Setup build directories
|
||||
printLog(log, ">>> Setup build directories <<<")
|
||||
|
||||
# Setup client directories
|
||||
printLog(log, ">>> Setup client directories <<<")
|
||||
mkPath(log, InstallDirectory + "/" + %PreGenInstallDirectoryVariable%)
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
||||
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
||||
|
@ -1,92 +1,92 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# #################################################################
|
||||
# ## %PreGenWarning%
|
||||
# #################################################################
|
||||
#
|
||||
# \file 1_export.py
|
||||
# \brief Export %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Export %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Export %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Find tools
|
||||
# ...
|
||||
|
||||
# Export %PreGenProcessName% 3dsmax
|
||||
if MaxAvailable:
|
||||
# Find tools
|
||||
Max = findMax(log, MaxDirectory, MaxExecutable)
|
||||
printLog(log, "")
|
||||
|
||||
printLog(log, ">>> Export %PreGenProcessName% 3dsmax <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%)
|
||||
for dir in %PreGenSourceDirectoriesVariable%:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
if (needUpdateDirByTagLog(log, DatabaseDirectory + "/" + dir, ".max", ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%, ".%PreGenFileExtension%")):
|
||||
scriptSrc = "maxscript/%PreGenFileExtension%_export.ms"
|
||||
scriptDst = MaxUserDirectory + "/scripts/%PreGenFileExtension%_export.ms"
|
||||
outputLogfile = ScriptDirectory + "/processes/%PreGenProcessName%/log.log"
|
||||
outputDirectory = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%
|
||||
maxSourceDir = DatabaseDirectory + "/" + dir
|
||||
tagList = findFiles(log, outputDirectory, "", ".%PreGenFileExtension%")
|
||||
tagLen = len(tagList)
|
||||
if os.path.isfile(scriptDst):
|
||||
os.remove(scriptDst)
|
||||
tagDiff = 1
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("%OutputLogfile%", outputLogfile)
|
||||
newline = newline.replace("%MaxSourceDirectory%", maxSourceDir)
|
||||
newline = newline.replace("%OutputDirectory%", outputDirectory)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
while tagDiff > 0:
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "%PreGenFileExtension%_export.ms", "-q", "-mi", "-mip" ])
|
||||
tagList = findFiles(log, outputDirectory, "", ".%PreGenFileExtension%")
|
||||
newTagLen = len(tagList)
|
||||
tagDiff = newTagLen - tagLen
|
||||
tagLen = newTagLen
|
||||
printLog(log, "Exported " + str(tagDiff) + " .%PreGenFileExtension% files!")
|
||||
os.remove(scriptDst)
|
||||
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# #################################################################
|
||||
# ## %PreGenWarning%
|
||||
# #################################################################
|
||||
#
|
||||
# \file 1_export.py
|
||||
# \brief Export %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Export %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Export %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Find tools
|
||||
# ...
|
||||
|
||||
# Export %PreGenProcessName% 3dsmax
|
||||
if MaxAvailable:
|
||||
# Find tools
|
||||
Max = findMax(log, MaxDirectory, MaxExecutable)
|
||||
printLog(log, "")
|
||||
|
||||
printLog(log, ">>> Export %PreGenProcessName% 3dsmax <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%)
|
||||
for dir in %PreGenSourceDirectoriesVariable%:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
if (needUpdateDirByTagLog(log, DatabaseDirectory + "/" + dir, ".max", ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%, ".%PreGenFileExtension%")):
|
||||
scriptSrc = "maxscript/%PreGenFileExtension%_export.ms"
|
||||
scriptDst = MaxUserDirectory + "/scripts/%PreGenFileExtension%_export.ms"
|
||||
outputLogfile = ScriptDirectory + "/processes/%PreGenProcessName%/log.log"
|
||||
outputDirectory = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%
|
||||
maxSourceDir = DatabaseDirectory + "/" + dir
|
||||
tagList = findFiles(log, outputDirectory, "", ".%PreGenFileExtension%")
|
||||
tagLen = len(tagList)
|
||||
if os.path.isfile(scriptDst):
|
||||
os.remove(scriptDst)
|
||||
tagDiff = 1
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("%OutputLogfile%", outputLogfile)
|
||||
newline = newline.replace("%MaxSourceDirectory%", maxSourceDir)
|
||||
newline = newline.replace("%OutputDirectory%", outputDirectory)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
while tagDiff > 0:
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "%PreGenFileExtension%_export.ms", "-q", "-mi", "-mip" ])
|
||||
tagList = findFiles(log, outputDirectory, "", ".%PreGenFileExtension%")
|
||||
newTagLen = len(tagList)
|
||||
tagDiff = newTagLen - tagLen
|
||||
tagLen = newTagLen
|
||||
printLog(log, "Exported " + str(tagDiff) + " .%PreGenFileExtension% files!")
|
||||
os.remove(scriptDst)
|
||||
|
||||
|
@ -1,49 +1,49 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 2_build.py
|
||||
# \brief Build %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Build %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Build %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 2_build.py
|
||||
# \brief Build %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Build %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Build %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
||||
|
@ -1,57 +1,57 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 3_install.py
|
||||
# \brief Install %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Install %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Install %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
printLog(log, ">>> Install %PreGenProcessName% <<<")
|
||||
exportPath = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%
|
||||
mkPath(log, exportPath)
|
||||
installPath = InstallDirectory + "/" + %PreGenInstallDirectoryVariable%
|
||||
mkPath(log, installPath)
|
||||
copyFilesExtNoSubdirIfNeeded(log, exportPath, installPath, ".%PreGenFileExtension%")
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 3_install.py
|
||||
# \brief Install %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Install %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Install %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
printLog(log, ">>> Install %PreGenProcessName% <<<")
|
||||
exportPath = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%
|
||||
mkPath(log, exportPath)
|
||||
installPath = InstallDirectory + "/" + %PreGenInstallDirectoryVariable%
|
||||
mkPath(log, installPath)
|
||||
copyFilesExtNoSubdirIfNeeded(log, exportPath, installPath, ".%PreGenFileExtension%")
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
||||
|
@ -1,66 +1,66 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief setup %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Setup %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Setup %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Setup source directories
|
||||
printLog(log, ">>> Setup source directories <<<")
|
||||
for dir in %PreGenSourceDirectoriesVariable%:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
|
||||
# Setup export directories
|
||||
printLog(log, ">>> Setup export directories <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%)
|
||||
mkPath(log, ExportBuildDirectory + "/" + %PreGenTagExportDirectoryVariable%)
|
||||
|
||||
# Setup build directories
|
||||
printLog(log, ">>> Setup build directories <<<")
|
||||
|
||||
# Setup client directories
|
||||
printLog(log, ">>> Setup client directories <<<")
|
||||
mkPath(log, InstallDirectory + "/" + %PreGenInstallDirectoryVariable%)
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief setup %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Setup %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Setup %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Setup source directories
|
||||
printLog(log, ">>> Setup source directories <<<")
|
||||
for dir in %PreGenSourceDirectoriesVariable%:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
|
||||
# Setup export directories
|
||||
printLog(log, ">>> Setup export directories <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%)
|
||||
mkPath(log, ExportBuildDirectory + "/" + %PreGenTagExportDirectoryVariable%)
|
||||
|
||||
# Setup build directories
|
||||
printLog(log, ">>> Setup build directories <<<")
|
||||
|
||||
# Setup client directories
|
||||
printLog(log, ">>> Setup client directories <<<")
|
||||
mkPath(log, InstallDirectory + "/" + %PreGenInstallDirectoryVariable%)
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
||||
|
@ -1,9 +1,9 @@
|
||||
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
shutil.move("temp_log.log", "log.log")
|
||||
|
||||
|
||||
# end of file
|
||||
|
||||
|
||||
log.close()
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
shutil.move("temp_log.log", "log.log")
|
||||
|
||||
|
||||
# end of file
|
||||
|
@ -1,130 +1,130 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# #################################################################
|
||||
# ## %PreGenWarning%
|
||||
# #################################################################
|
||||
#
|
||||
# \file 1_export.py
|
||||
# \brief Export %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Export %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
if os.path.isfile("temp_log.log"):
|
||||
os.remove("temp_log.log")
|
||||
log = open("temp_log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Export %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
|
||||
# Find tools
|
||||
# ...
|
||||
|
||||
# Export %PreGenProcessName% 3dsmax
|
||||
if MaxAvailable:
|
||||
# Find tools
|
||||
Max = findMax(log, MaxDirectory, MaxExecutable)
|
||||
printLog(log, "")
|
||||
|
||||
printLog(log, ">>> Export %PreGenProcessName% 3dsmax <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%)
|
||||
mkPath(log, ExportBuildDirectory + "/" + %PreGenTagExportDirectoryVariable%)
|
||||
for dir in %PreGenSourceDirectoriesVariable%:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
if (needUpdateDirByTagLog(log, DatabaseDirectory + "/" + dir, ".max", ExportBuildDirectory + "/" + %PreGenTagExportDirectoryVariable%, ".max.tag")):
|
||||
scriptSrc = "maxscript/%PreGenFileExtension%_export.ms"
|
||||
scriptDst = MaxUserDirectory + "/scripts/%PreGenFileExtension%_export.ms"
|
||||
outputLogfile = ScriptDirectory + "/processes/%PreGenProcessName%/log.log"
|
||||
outputDirectory = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%
|
||||
tagDirectory = ExportBuildDirectory + "/" + %PreGenTagExportDirectoryVariable%
|
||||
maxSourceDir = DatabaseDirectory + "/" + dir
|
||||
maxRunningTagFile = tagDirectory + "/max_running.tag"
|
||||
tagList = findFiles(log, tagDirectory, "", ".max.tag")
|
||||
tagLen = len(tagList)
|
||||
if os.path.isfile(scriptDst):
|
||||
os.remove(scriptDst)
|
||||
tagDiff = 1
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("%OutputLogfile%", outputLogfile)
|
||||
newline = newline.replace("%MaxSourceDirectory%", maxSourceDir)
|
||||
newline = newline.replace("%OutputDirectory%", outputDirectory)
|
||||
newline = newline.replace("%TagDirectory%", tagDirectory)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
zeroRetryLimit = 3
|
||||
while tagDiff > 0:
|
||||
mrt = open(maxRunningTagFile, "w")
|
||||
mrt.write("moe-moe-kyun")
|
||||
mrt.close()
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "%PreGenFileExtension%_export.ms", "-q", "-mi", "-mip" ])
|
||||
if os.path.exists(outputLogfile):
|
||||
try:
|
||||
lSrc = open(outputLogfile, "r")
|
||||
for line in lSrc:
|
||||
lineStrip = line.strip()
|
||||
if (len(lineStrip) > 0):
|
||||
printLog(log, lineStrip)
|
||||
lSrc.close()
|
||||
os.remove(outputLogfile)
|
||||
except Exception:
|
||||
printLog(log, "ERROR Failed to read 3dsmax log")
|
||||
else:
|
||||
printLog(log, "WARNING No 3dsmax log")
|
||||
tagList = findFiles(log, tagDirectory, "", ".max.tag")
|
||||
newTagLen = len(tagList)
|
||||
tagDiff = newTagLen - tagLen
|
||||
tagLen = newTagLen
|
||||
addTagDiff = 0
|
||||
if os.path.exists(maxRunningTagFile):
|
||||
printLog(log, "FAIL 3ds Max crashed and/or file export failed!")
|
||||
if tagDiff == 0:
|
||||
if zeroRetryLimit > 0:
|
||||
zeroRetryLimit = zeroRetryLimit - 1
|
||||
addTagDiff = 1
|
||||
else:
|
||||
printLog(log, "FAIL Retry limit reached!")
|
||||
else:
|
||||
addTagDiff = 1
|
||||
os.remove(maxRunningTagFile)
|
||||
printLog(log, "Exported " + str(tagDiff) + " .max files!")
|
||||
tagDiff += addTagDiff
|
||||
os.remove(scriptDst)
|
||||
printLog(log, "")
|
||||
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# #################################################################
|
||||
# ## %PreGenWarning%
|
||||
# #################################################################
|
||||
#
|
||||
# \file 1_export.py
|
||||
# \brief Export %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Export %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
if os.path.isfile("temp_log.log"):
|
||||
os.remove("temp_log.log")
|
||||
log = open("temp_log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Export %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
|
||||
# Find tools
|
||||
# ...
|
||||
|
||||
# Export %PreGenProcessName% 3dsmax
|
||||
if MaxAvailable:
|
||||
# Find tools
|
||||
Max = findMax(log, MaxDirectory, MaxExecutable)
|
||||
printLog(log, "")
|
||||
|
||||
printLog(log, ">>> Export %PreGenProcessName% 3dsmax <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%)
|
||||
mkPath(log, ExportBuildDirectory + "/" + %PreGenTagExportDirectoryVariable%)
|
||||
for dir in %PreGenSourceDirectoriesVariable%:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
if (needUpdateDirByTagLog(log, DatabaseDirectory + "/" + dir, ".max", ExportBuildDirectory + "/" + %PreGenTagExportDirectoryVariable%, ".max.tag")):
|
||||
scriptSrc = "maxscript/%PreGenFileExtension%_export.ms"
|
||||
scriptDst = MaxUserDirectory + "/scripts/%PreGenFileExtension%_export.ms"
|
||||
outputLogfile = ScriptDirectory + "/processes/%PreGenProcessName%/log.log"
|
||||
outputDirectory = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable%
|
||||
tagDirectory = ExportBuildDirectory + "/" + %PreGenTagExportDirectoryVariable%
|
||||
maxSourceDir = DatabaseDirectory + "/" + dir
|
||||
maxRunningTagFile = tagDirectory + "/max_running.tag"
|
||||
tagList = findFiles(log, tagDirectory, "", ".max.tag")
|
||||
tagLen = len(tagList)
|
||||
if os.path.isfile(scriptDst):
|
||||
os.remove(scriptDst)
|
||||
tagDiff = 1
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("%OutputLogfile%", outputLogfile)
|
||||
newline = newline.replace("%MaxSourceDirectory%", maxSourceDir)
|
||||
newline = newline.replace("%OutputDirectory%", outputDirectory)
|
||||
newline = newline.replace("%TagDirectory%", tagDirectory)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
zeroRetryLimit = 3
|
||||
while tagDiff > 0:
|
||||
mrt = open(maxRunningTagFile, "w")
|
||||
mrt.write("moe-moe-kyun")
|
||||
mrt.close()
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "%PreGenFileExtension%_export.ms", "-q", "-mi", "-mip" ])
|
||||
if os.path.exists(outputLogfile):
|
||||
try:
|
||||
lSrc = open(outputLogfile, "r")
|
||||
for line in lSrc:
|
||||
lineStrip = line.strip()
|
||||
if (len(lineStrip) > 0):
|
||||
printLog(log, lineStrip)
|
||||
lSrc.close()
|
||||
os.remove(outputLogfile)
|
||||
except Exception:
|
||||
printLog(log, "ERROR Failed to read 3dsmax log")
|
||||
else:
|
||||
printLog(log, "WARNING No 3dsmax log")
|
||||
tagList = findFiles(log, tagDirectory, "", ".max.tag")
|
||||
newTagLen = len(tagList)
|
||||
tagDiff = newTagLen - tagLen
|
||||
tagLen = newTagLen
|
||||
addTagDiff = 0
|
||||
if os.path.exists(maxRunningTagFile):
|
||||
printLog(log, "FAIL 3ds Max crashed and/or file export failed!")
|
||||
if tagDiff == 0:
|
||||
if zeroRetryLimit > 0:
|
||||
zeroRetryLimit = zeroRetryLimit - 1
|
||||
addTagDiff = 1
|
||||
else:
|
||||
printLog(log, "FAIL Retry limit reached!")
|
||||
else:
|
||||
addTagDiff = 1
|
||||
os.remove(maxRunningTagFile)
|
||||
printLog(log, "Exported " + str(tagDiff) + " .max files!")
|
||||
tagDiff += addTagDiff
|
||||
os.remove(scriptDst)
|
||||
printLog(log, "")
|
||||
|
||||
|
@ -1,49 +1,49 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 2_build.py
|
||||
# \brief Build %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Build %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Build %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# \file 2_build.py
|
||||
# \brief Build %PreGenProcessName%
|
||||
# \date %PreGenDateTimeStamp%
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Build %PreGenProcessName%
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2009-2014 by authors
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Build %PreGenProcessName%")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue