Compare commits
2059 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d3210a0831 | ||
|
|
830a771a90 | ||
|
|
2ec1f9f55d | ||
|
|
2e7dca06ed | ||
|
|
8d6cac39d0 | ||
|
|
f6093c864f | ||
|
|
47e639be28 | ||
|
|
9eacbb45d1 | ||
|
|
926cf7e0fa | ||
|
|
9a505753b0 | ||
|
|
98fb7bd41d | ||
|
|
f1917fea3e | ||
|
|
3907a23fb4 | ||
|
|
695c19d0b0 | ||
|
|
3b1c8baca9 | ||
|
|
ee2ed4c469 | ||
|
|
0711d7075e | ||
|
|
d72d663219 | ||
|
|
5191dc1bd7 | ||
|
|
bb7f96437c | ||
|
|
e4274c2b49 | ||
|
|
25e82d927f | ||
|
|
5ce95d7fc7 | ||
|
|
521519c8ab | ||
|
|
6aa9623512 | ||
|
|
cd67e70ada | ||
|
|
67da71b0f0 | ||
|
|
f32e39fb86 | ||
|
|
07427e68a1 | ||
|
|
b8d3318d0b | ||
|
|
f149bed64e | ||
|
|
9d3bf2d489 | ||
|
|
251404f29e | ||
|
|
43416f90e5 | ||
|
|
a68b2fad11 | ||
|
|
9dce4f36f7 | ||
|
|
62332fbebb | ||
|
|
3a3eb2c63d | ||
|
|
24e70faf02 | ||
|
|
e79763d139 | ||
|
|
ecc9dd7a7f | ||
|
|
a734f8423c | ||
|
|
352fa4e18f | ||
|
|
fc5e40a857 | ||
|
|
b29b6b38e7 | ||
|
|
458ab9d639 | ||
|
|
42ce453f11 | ||
|
|
4230e3b8c2 | ||
|
|
ca18b851a1 | ||
|
|
4812ff47c0 | ||
|
|
9d4839b26d | ||
|
|
72b36d97bd | ||
|
|
a7db6d86ff | ||
|
|
7aea85668b | ||
|
|
9413a399cd | ||
|
|
735d81e42b | ||
|
|
4746cdbb6b | ||
|
|
567394aced | ||
|
|
2fd8134700 | ||
|
|
788e63cf28 | ||
|
|
c9f24692c5 | ||
|
|
411b6d7460 | ||
|
|
49122729af | ||
|
|
1124f5f369 | ||
|
|
28aad7313e | ||
|
|
6b542ef494 | ||
|
|
4ea1e26c73 | ||
|
|
55e78c9dce | ||
|
|
29085b95b7 | ||
|
|
4bc0ce9338 | ||
|
|
1e7bd3e8f4 | ||
|
|
af80db0dfd | ||
|
|
aaf37b0be8 | ||
|
|
cbc4c0d3b2 | ||
|
|
311118ae58 | ||
|
|
5d852085c2 | ||
|
|
e6502dad75 | ||
|
|
8b0a86e883 | ||
|
|
3da0486320 | ||
|
|
0c09c10741 | ||
|
|
0182e61803 | ||
|
|
32d586617d | ||
|
|
c2a9c77510 | ||
|
|
6f6bf0cf77 | ||
|
|
64a30adb9b | ||
|
|
a8a87e94be | ||
|
|
4c89e9d8ce | ||
|
|
2a3a3359fa | ||
|
|
9e9c9ed5ed | ||
|
|
42cd5ee12e | ||
|
|
bfd41c34a4 | ||
|
|
1d9fb1147b | ||
|
|
9cb51640c0 | ||
|
|
5ea8538e0f | ||
|
|
624960e1c2 | ||
|
|
92e45559cc | ||
|
|
e0658fdd2d | ||
|
|
3ef2b2f27e | ||
|
|
97a2f66fcb | ||
|
|
7bc943a862 | ||
|
|
7a6371e47f | ||
|
|
3b083cf7e1 | ||
|
|
6ed64e6504 | ||
|
|
25d92c680b | ||
|
|
daffc73d0c | ||
|
|
c6c2b85c29 | ||
|
|
5e45b64ee1 | ||
|
|
d6539b267c | ||
|
|
9c7eb36431 | ||
|
|
69a26900fe | ||
|
|
3e393b80d6 | ||
|
|
85321d7465 | ||
|
|
45bc4dcb00 | ||
|
|
7ddbc40720 | ||
|
|
85fd027150 | ||
|
|
e2c0eec3e1 | ||
|
|
d00b6cbcc6 | ||
|
|
e6426d89e3 | ||
|
|
99f6f2c00d | ||
|
|
de27ce89a7 | ||
|
|
f880843dfd | ||
|
|
77c5fc02a6 | ||
|
|
4d8bcfebf2 | ||
|
|
ef6750b0c7 | ||
|
|
b33f19b048 | ||
|
|
8fa6a98027 | ||
|
|
fe51500e8e | ||
|
|
a4e482f55a | ||
|
|
5ce61b863b | ||
|
|
4e8736de6c | ||
|
|
9dd6de7e33 | ||
|
|
5b1d1a2ce4 | ||
|
|
02dd74b113 | ||
|
|
ae842ac9e1 | ||
|
|
51a42ae4f5 | ||
|
|
cdbe1a9123 | ||
|
|
adb000d1c8 | ||
|
|
6323c926f8 | ||
|
|
aea5097dfc | ||
|
|
36e50d81cc | ||
|
|
443a60dc76 | ||
|
|
3e4b754a60 | ||
|
|
64dc854bdd | ||
|
|
0201e08ac9 | ||
|
|
685e3cac83 | ||
|
|
4d5f16e75d | ||
|
|
3b1930777f | ||
|
|
0d8a46943b | ||
|
|
4c9a3def1d | ||
|
|
7d67585f9a | ||
|
|
40dd80b95a | ||
|
|
bcb3a3bbed | ||
|
|
773232bcb9 | ||
|
|
e34637a02f | ||
|
|
895122848c | ||
|
|
6974e5bbe6 | ||
|
|
dd3f507b97 | ||
|
|
fb3b69a401 | ||
|
|
aa310bd205 | ||
|
|
97d077df84 | ||
|
|
371394df6f | ||
|
|
480c59b89f | ||
|
|
a9c0beee61 | ||
|
|
638172c8cf | ||
|
|
f594461971 | ||
|
|
63b863166b | ||
|
|
a30172c604 | ||
|
|
fe5a7a734a | ||
|
|
d4bd6796fc | ||
|
|
2e98ecf09a | ||
|
|
2dee4a380f | ||
|
|
c924559327 | ||
|
|
5c1b874f38 | ||
|
|
261714d395 | ||
|
|
2e6016ea76 | ||
|
|
82b3bd7520 | ||
|
|
efc7194fbe | ||
|
|
f7b4890ef7 | ||
|
|
28e777e1e4 | ||
|
|
36aa56f251 | ||
|
|
1c1b1295d1 | ||
|
|
a5cb7b09eb | ||
|
|
8d6807a79d | ||
|
|
366f4f490c | ||
|
|
4e3f7eccae | ||
|
|
87bbb1ac27 | ||
|
|
49b6f417d2 | ||
|
|
7402577902 | ||
|
|
487b630d62 | ||
|
|
c584eb92fc | ||
|
|
4f0e634b42 | ||
|
|
82ffa91b49 | ||
|
|
b4d46ca137 | ||
|
|
d857ef6290 | ||
|
|
3ef0f0f56e | ||
|
|
8f0b8c1277 | ||
|
|
b72702957b | ||
|
|
3927841f43 | ||
|
|
2c20bf28c1 | ||
|
|
3f6ab92fcb | ||
|
|
02e46a9909 | ||
|
|
b25ca6ff33 | ||
|
|
0698c5dd8f | ||
|
|
a2513493df | ||
|
|
5b48faf13b | ||
|
|
d84b981d24 | ||
|
|
4ae157d50f | ||
|
|
0ee53817d8 | ||
|
|
5b25919e38 | ||
|
|
6f3c91c241 | ||
|
|
2ac0c79b4f | ||
|
|
6db23c4d07 | ||
|
|
b47a8be8cf | ||
|
|
cc26a0eeb3 | ||
|
|
8b66107833 | ||
|
|
be61b45d08 | ||
|
|
ac47d22ea1 | ||
|
|
d4a33c6d51 | ||
|
|
e682a0f1d3 | ||
|
|
a39fe2cb37 | ||
|
|
342a7abf9b | ||
|
|
4ba5be8d31 | ||
|
|
226d0a9f32 | ||
|
|
1a98a66f23 | ||
|
|
e74be686f1 | ||
|
|
54c4859e92 | ||
|
|
53f4bf7b78 | ||
|
|
2de706cc6d | ||
|
|
fdc7f0468f | ||
|
|
76735b01f7 | ||
|
|
8ed878b1b3 | ||
|
|
e47af0c33f | ||
|
|
1a47384ac6 | ||
|
|
900aa12a3c | ||
|
|
2f45ec7c90 | ||
|
|
59b7cddd7d | ||
|
|
55e1a15eee | ||
|
|
eba0e64e5d | ||
|
|
eb67b2057a | ||
|
|
85ddd2764b | ||
|
|
934688d204 | ||
|
|
3137ec09e3 | ||
|
|
625f7e9936 | ||
|
|
a30f6325d4 | ||
|
|
a8a2b9f684 | ||
|
|
077ee978f6 | ||
|
|
031af7c432 | ||
|
|
b59e519e0d | ||
|
|
8f8ffd1aeb | ||
|
|
54eabee103 | ||
|
|
41af17e70b | ||
|
|
58e274b29f | ||
|
|
99f55ae64c | ||
|
|
c5fdd34eb7 | ||
|
|
3856b154bb | ||
|
|
6409a96e45 | ||
|
|
1438f7e5cd | ||
|
|
55e03635c6 | ||
|
|
02f40d1e29 | ||
|
|
4c3ee57ce9 | ||
|
|
355ad39a7e | ||
|
|
6db20908b3 | ||
|
|
2109a25e3e | ||
|
|
52b5ed57bf | ||
|
|
9807974de3 | ||
|
|
7cc064d14f | ||
|
|
2db1429644 | ||
|
|
19e213f19b | ||
|
|
fbadda40f6 | ||
|
|
43cac0bd1e | ||
|
|
4fca366fcd | ||
|
|
e8aa787f1f | ||
|
|
d3f2fffa03 | ||
|
|
bdb199c5e7 | ||
|
|
3cacff6550 | ||
|
|
d3e5a139e3 | ||
|
|
caed77bac2 | ||
|
|
122c7654e5 | ||
|
|
1af75baa41 | ||
|
|
697df9d9f1 | ||
|
|
33cd7c0bf4 | ||
|
|
c1317a787d | ||
|
|
472da6f1b5 | ||
|
|
1469b96db7 | ||
|
|
ce27388fad | ||
|
|
f5b38ccbba | ||
|
|
2134762ed1 | ||
|
|
22c5002931 | ||
|
|
dc5b184d45 | ||
|
|
58bfd0e46c | ||
|
|
1be8f11ec8 | ||
|
|
7b1d36a40a | ||
|
|
0d6303c841 | ||
|
|
3c26ad3ec7 | ||
|
|
b87a3ebd88 | ||
|
|
0dface7cc1 | ||
|
|
1e536622a2 | ||
|
|
1a63a2726e | ||
|
|
8267376d32 | ||
|
|
4519ba8bf6 | ||
|
|
8f4a5c3572 | ||
|
|
023f584ee7 | ||
|
|
7ac2645a63 | ||
|
|
42d7ca9e0d | ||
|
|
523f94db98 | ||
|
|
d18b787ebb | ||
|
|
2c197aae7c | ||
|
|
4c8471c4a7 | ||
|
|
8d27d70bc2 | ||
|
|
8418a00483 | ||
|
|
758d9ee795 | ||
|
|
3e89b07beb | ||
|
|
0a96aedc22 | ||
|
|
e9bf756165 | ||
|
|
856a4dd218 | ||
|
|
a618782345 | ||
|
|
fb6e44d9e4 | ||
|
|
4c5850ae96 | ||
|
|
1b5e49bd3c | ||
|
|
b199379e1d | ||
|
|
f8f693cd9d | ||
|
|
dc6617cfad | ||
|
|
e9ca6dc705 | ||
|
|
1920e4399b | ||
|
|
c56666b104 | ||
|
|
5bf3155272 | ||
|
|
c70d83ab90 | ||
|
|
67f6ca3d5d | ||
|
|
9ed5491d6a | ||
|
|
104e65a868 | ||
|
|
512d4232dd | ||
|
|
edf71e30c9 | ||
|
|
a18af7de64 | ||
|
|
177cd63320 | ||
|
|
1565b75ce9 | ||
|
|
4646db8194 | ||
|
|
5c117e24d2 | ||
|
|
122abc40b4 | ||
|
|
1a2a851322 | ||
|
|
c1549c78f0 | ||
|
|
b0c4486b7c | ||
|
|
ab90270917 | ||
|
|
a3f02ad5a8 | ||
|
|
389cace4c7 | ||
|
|
5ccc7d44db | ||
|
|
13ac6e0331 | ||
|
|
62c2d9d606 | ||
|
|
0bcaa002ea | ||
|
|
a4c0441961 | ||
|
|
966a93ddfa | ||
|
|
abb0078be3 | ||
|
|
1f4b0e7f5c | ||
|
|
c969749163 | ||
|
|
df082c39a3 | ||
|
|
6989a81e03 | ||
|
|
eb6c0ebfb5 | ||
|
|
28150d8f51 | ||
|
|
8bf2ffc3fc | ||
|
|
f8de42d111 | ||
|
|
642f1f74af | ||
|
|
38b0a664f4 | ||
|
|
5cc314672f | ||
|
|
968651d9ed | ||
|
|
4a6600b94d | ||
|
|
cbfb621179 | ||
|
|
bcbfde106d | ||
|
|
d3924dc0ae | ||
|
|
17bb8738cc | ||
|
|
0793ba45b5 | ||
|
|
b2353eba58 | ||
|
|
49c9841c87 | ||
|
|
1b9089aa30 | ||
|
|
77a8cfa894 | ||
|
|
81753047eb | ||
|
|
91643d94c4 | ||
|
|
b9297a83b0 | ||
|
|
a880cfc025 | ||
|
|
68cc95c26d | ||
|
|
318447afaf | ||
|
|
48e058d663 | ||
|
|
4e2b555813 | ||
|
|
28a1d48b3d | ||
|
|
8c33eb32dd | ||
|
|
e627008fbc | ||
|
|
ee03469f7c | ||
|
|
99eee2e738 | ||
|
|
bbb61cd6f0 | ||
|
|
7139ecab42 | ||
|
|
ef0eb7ddcf | ||
|
|
d6acfadab9 | ||
|
|
1c0eff0871 | ||
|
|
49d859f6bb | ||
|
|
0177902010 | ||
|
|
56cc88f582 | ||
|
|
152a5b5c94 | ||
|
|
29e086f23b | ||
|
|
55a219fc03 | ||
|
|
0e4903910b | ||
|
|
e2bd6571b1 | ||
|
|
6d9029fb23 | ||
|
|
2236771b22 | ||
|
|
e62c2f9d8e | ||
|
|
b8dac1e408 | ||
|
|
b010e9d720 | ||
|
|
39f32af500 | ||
|
|
07ff2de2a2 | ||
|
|
13e57ba89e | ||
|
|
2641404f46 | ||
|
|
9212c178fc | ||
|
|
bf91676fea | ||
|
|
67344ffd7d | ||
|
|
bc65e63654 | ||
|
|
69a32c5ac9 | ||
|
|
e9290af4d2 | ||
|
|
b66283fbd0 | ||
|
|
ad5e4f2556 | ||
|
|
4b86d4cf6d | ||
|
|
38e71e5aa4 | ||
|
|
1d8d0f4a36 | ||
|
|
fb8434322c | ||
|
|
ec50ea62d5 | ||
|
|
8e9d0d5c29 | ||
|
|
cd78fd6340 | ||
|
|
ac7c9898b4 | ||
|
|
f64a45f78d | ||
|
|
d1c1455565 | ||
|
|
e83e402612 | ||
|
|
48b19751a3 | ||
|
|
9b9a1dd332 | ||
|
|
699a8929e4 | ||
|
|
9edab6e742 | ||
|
|
263f129c8b | ||
|
|
7914a187e5 | ||
|
|
6e79f22734 | ||
|
|
eae371854b | ||
|
|
3749263b11 | ||
|
|
1944ffe1a5 | ||
|
|
ac4d5b66b3 | ||
|
|
de909b2ad3 | ||
|
|
d4b0c9da1b | ||
|
|
19d5170137 | ||
|
|
eff4e91207 | ||
|
|
37a46282f2 | ||
|
|
d4681f2c94 | ||
|
|
69b730ba78 | ||
|
|
cd09c375d2 | ||
|
|
650b67365b | ||
|
|
c1e98a1406 | ||
|
|
3554d64573 | ||
|
|
be9b7da892 | ||
|
|
849d0b6223 | ||
|
|
2da60c4efc | ||
|
|
4d12ac8ed6 | ||
|
|
f54116425d | ||
|
|
25cc53625c | ||
|
|
2beca30b0c | ||
|
|
4ac87ec61a | ||
|
|
beae0662ce | ||
|
|
72f4d67a3b | ||
|
|
60cb4a2a73 | ||
|
|
35f07150f2 | ||
|
|
c9ee471b34 | ||
|
|
debf940973 | ||
|
|
9b33ab3c0a | ||
|
|
24a6ef2bc3 | ||
|
|
afe02bf3a0 | ||
|
|
aa3bf50731 | ||
|
|
8c98f8f9bf | ||
|
|
64e5561b5a | ||
|
|
2e4037451f | ||
|
|
99f98cc761 | ||
|
|
05cbc8a477 | ||
|
|
0fa280c964 | ||
|
|
211cf250dc | ||
|
|
e15ed4403c | ||
|
|
9d65aa014c | ||
|
|
8fad5a1757 | ||
|
|
60d3a51ebc | ||
|
|
0218e2ed2d | ||
|
|
0169a925ef | ||
|
|
8f31faa98e | ||
|
|
6a129371d2 | ||
|
|
05578fe8b7 | ||
|
|
6bda5546a6 | ||
|
|
0c6c9620a7 | ||
|
|
9b8a09892a | ||
|
|
fbf70224e4 | ||
|
|
3db6637e9f | ||
|
|
be3e487fae | ||
|
|
a089afc626 | ||
|
|
6c39249899 | ||
|
|
54daf78cbc | ||
|
|
b7eeec243e | ||
|
|
15fa120eeb | ||
|
|
01ba06ddef | ||
|
|
1eba814e68 | ||
|
|
eb8395fa19 | ||
|
|
4ddcd57191 | ||
|
|
cffba7b685 | ||
|
|
7683214eff | ||
|
|
36513d6ed6 | ||
|
|
595f3fd117 | ||
|
|
3dd17474c5 | ||
|
|
9ac75df34e | ||
|
|
85d7f2cd62 | ||
|
|
ca67b0f43c | ||
|
|
f7e74bdbfc | ||
|
|
6efca04ea8 | ||
|
|
95254eef44 | ||
|
|
051a41e86d | ||
|
|
83d15ce65e | ||
|
|
2162770e57 | ||
|
|
db947d33ca | ||
|
|
aa1abeb4be | ||
|
|
2b46bbfd2c | ||
|
|
76f1cfbc07 | ||
|
|
1a07b1514f | ||
|
|
31c5ef2dc5 | ||
|
|
cf1fb98d5c | ||
|
|
8269d79e56 | ||
|
|
94db45f148 | ||
|
|
6cc30e6ebd | ||
|
|
2e71c3cf8a | ||
|
|
a82a6f4324 | ||
|
|
03a3e43b01 | ||
|
|
f9be361846 | ||
|
|
6e23fffe41 | ||
|
|
5c6b8df764 | ||
|
|
0b141b6eb0 | ||
|
|
1668035759 | ||
|
|
4635aad335 | ||
|
|
41413d65b7 | ||
|
|
79240a45d0 | ||
|
|
f2e5efaea7 | ||
|
|
3bbb00db9a | ||
|
|
c5cafd5573 | ||
|
|
900e3ec334 | ||
|
|
a8a8cc950e | ||
|
|
846aa3a5ab | ||
|
|
a1ac74950c | ||
|
|
eb52c6d61f | ||
|
|
aace191116 | ||
|
|
d8ceb03b3c | ||
|
|
1728b58290 | ||
|
|
4333f12fd8 | ||
|
|
39941799d9 | ||
|
|
9697036599 | ||
|
|
5a3c8573c3 | ||
|
|
f16119cd0f | ||
|
|
efee6b9713 | ||
|
|
668b09e955 | ||
|
|
a7ecdf8aab | ||
|
|
78b74d01cb | ||
|
|
1733381cf2 | ||
|
|
5492c52249 | ||
|
|
12c33cc032 | ||
|
|
02bbc10f40 | ||
|
|
e69aa6bf49 | ||
|
|
d28a839f55 | ||
|
|
61b01892e7 | ||
|
|
ace6e09979 | ||
|
|
33cfeeb500 | ||
|
|
08ecb7f335 | ||
|
|
51a9876d95 | ||
|
|
f5ef01f01e | ||
|
|
396363c11d | ||
|
|
0f3780dbb2 | ||
|
|
e94e31aedf | ||
|
|
aaccb36d93 | ||
|
|
9da9fa82e5 | ||
|
|
a5b6c2a03a | ||
|
|
09dc1fa92a | ||
|
|
f055e35729 | ||
|
|
c8f81bd9b0 | ||
|
|
7b47a5cc30 | ||
|
|
a9d4e56e66 | ||
|
|
471504090a | ||
|
|
b3d064b1f7 | ||
|
|
0d61d98c70 | ||
|
|
a3ef2a6185 | ||
|
|
86161ffa4c | ||
|
|
ed40127539 | ||
|
|
dfac73d81c | ||
|
|
5c9ad34322 | ||
|
|
792a7b5755 | ||
|
|
f99a523002 | ||
|
|
7885a46cd5 | ||
|
|
8f2e1163dd | ||
|
|
8fae99e780 | ||
|
|
17d8d5875e | ||
|
|
7c8cbd41a4 | ||
|
|
d4acf3c9a5 | ||
|
|
dfb01ebdf1 | ||
|
|
9c86433047 | ||
|
|
8b2d4d8f3e | ||
|
|
c9b9cf6cc4 | ||
|
|
043cd7f5be | ||
|
|
aa0e254f0e | ||
|
|
6740b60af2 | ||
|
|
f6e68e91d0 | ||
|
|
2c07b9cdb1 | ||
|
|
3367fa37be | ||
|
|
7fbd196919 | ||
|
|
88821befe6 | ||
|
|
5e6158feff | ||
|
|
59674dfcf2 | ||
|
|
fb389c9984 | ||
|
|
62b632758b | ||
|
|
9c0fd7c4c1 | ||
|
|
768fac38c6 | ||
|
|
40c7e89db3 | ||
|
|
bb6b8b020d | ||
|
|
688e02c04a | ||
|
|
ed774a6aa2 | ||
|
|
a2af906f1a | ||
|
|
46f43a3456 | ||
|
|
a86f62cbe8 | ||
|
|
f8789244d6 | ||
|
|
d4411fd234 | ||
|
|
c73e364b55 | ||
|
|
63da9c40f7 | ||
|
|
0c1926ade6 | ||
|
|
7540b1c10a | ||
|
|
5ef423c185 | ||
|
|
55f729565b | ||
|
|
8000e22e14 | ||
|
|
9da97c4d3c | ||
|
|
a7f84e8690 | ||
|
|
f7175540f8 | ||
|
|
60fb2e537f | ||
|
|
4d680ec91d | ||
|
|
efbc0c96be | ||
|
|
d66112a0f1 | ||
|
|
429e07adec | ||
|
|
7782331dbc | ||
|
|
05d5a160fe | ||
|
|
6a026f7286 | ||
|
|
7508e1e0e3 | ||
|
|
d8cf443cd9 | ||
|
|
e81438a7a9 | ||
|
|
93d299716c | ||
|
|
705b419799 | ||
|
|
c28db45c4b | ||
|
|
22905de094 | ||
|
|
a1411a3933 | ||
|
|
771c2270df | ||
|
|
7640fa0bf0 | ||
|
|
126bf10048 | ||
|
|
8b9eb0b466 | ||
|
|
a784d184aa | ||
|
|
210481703f | ||
|
|
bc1de34296 | ||
|
|
459428ef25 | ||
|
|
d9e06e9209 | ||
|
|
6c3eb3fe1e | ||
|
|
4dcfdbe82f | ||
|
|
78f3e23f0b | ||
|
|
9f255f8178 | ||
|
|
de9a41159f | ||
|
|
61d145e233 | ||
|
|
6553ff9e56 | ||
|
|
02eec0e43c | ||
|
|
98b01953a4 | ||
|
|
e0062edc42 | ||
|
|
be13df6bd8 | ||
|
|
fce48cd92e | ||
|
|
068c0dbe4d | ||
|
|
4d54b8251d | ||
|
|
383beb3e8d | ||
|
|
85fb2bfa85 | ||
|
|
c259a36922 | ||
|
|
3542bd9e90 | ||
|
|
5f0ef9b27e | ||
|
|
07c24d7164 | ||
|
|
1d249f233f | ||
|
|
0cb6f00ed2 | ||
|
|
b982f987c8 | ||
|
|
6cb318518d | ||
|
|
5e7428f034 | ||
|
|
f85fba264a | ||
|
|
51a6260798 | ||
|
|
20a1094f42 | ||
|
|
117b292c3f | ||
|
|
3914f45c2c | ||
|
|
865a5d56ed | ||
|
|
0540017ef2 | ||
|
|
41a8be1b29 | ||
|
|
8ea9c094ab | ||
|
|
1c84e6d7ea | ||
|
|
25208d0797 | ||
|
|
eab9b7eb48 | ||
|
|
f833a4e1bb | ||
|
|
512fbe0199 | ||
|
|
bf1f621bbe | ||
|
|
5e7bd82f39 | ||
|
|
59be28b5eb | ||
|
|
40feb0a074 | ||
|
|
fe62e1b6e3 | ||
|
|
79ffe22b7f | ||
|
|
045d59fedf | ||
|
|
2dd8cb01ec | ||
|
|
76ec6591a5 | ||
|
|
c61e058231 | ||
|
|
7153797b5a | ||
|
|
58941ba2d7 | ||
|
|
b696e1c89a | ||
|
|
712fa95e88 | ||
|
|
30685e2865 | ||
|
|
dcb51ca73f | ||
|
|
7db5e551f1 | ||
|
|
22b4d11b36 | ||
|
|
ffdd04a278 | ||
|
|
db7e567832 | ||
|
|
a2d4363c9f | ||
|
|
e3c1b7ba30 | ||
|
|
636f464f95 | ||
|
|
a46cc17d38 | ||
|
|
6e04c70b16 | ||
|
|
9f501a33a3 | ||
|
|
60c74ee65d | ||
|
|
6c42dff884 | ||
|
|
969b70d512 | ||
|
|
7a6da35356 | ||
|
|
2d488e9614 | ||
|
|
875d40a34b | ||
|
|
c2452e2370 | ||
|
|
512e409417 | ||
|
|
7e665d376e | ||
|
|
12130c7a61 | ||
|
|
5ddd394214 | ||
|
|
1fae8f20af | ||
|
|
6ffb3b61d8 | ||
|
|
6d615bf641 | ||
|
|
798aa5ba7d | ||
|
|
293311087d | ||
|
|
fe4b32be1f | ||
|
|
90a2f00041 | ||
|
|
074442bfc2 | ||
|
|
668b6aa563 | ||
|
|
97e6c0ec2a | ||
|
|
e92e307431 | ||
|
|
ee23886666 | ||
|
|
c033698a2e | ||
|
|
d40fcc10ab | ||
|
|
1075e4b1b7 | ||
|
|
f8316a71cd | ||
|
|
0f6e0044bd | ||
|
|
f892811ac3 | ||
|
|
3d12b66f3c | ||
|
|
fa92c7ed3e | ||
|
|
8ab584c33b | ||
|
|
8d39ba69ee | ||
|
|
2f4a6fc235 | ||
|
|
b03df75609 | ||
|
|
9b8098f731 | ||
|
|
76e7e8037d | ||
|
|
04c1e6992f | ||
|
|
1ee8687d94 | ||
|
|
1b884c1a5c | ||
|
|
b3ec8745d2 | ||
|
|
b03fe2c86c | ||
|
|
42781bd754 | ||
|
|
8f5b3ee1e0 | ||
|
|
f6e0c0ce11 | ||
|
|
aab6c3a9df | ||
|
|
1ac7317986 | ||
|
|
953052cb95 | ||
|
|
e631e7a3a6 | ||
|
|
eb880ba2be | ||
|
|
1d74011c3e | ||
|
|
9251ba6008 | ||
|
|
d5e522994e | ||
|
|
abdb1c1252 | ||
|
|
03a469e56f | ||
|
|
14dcd71819 | ||
|
|
ac5a14c18c | ||
|
|
fa8b94722e | ||
|
|
43aeb90eb9 | ||
|
|
27768b7451 | ||
|
|
a91ca72f51 | ||
|
|
7b496b610e | ||
|
|
12eb2dec4e | ||
|
|
653f254b9d | ||
|
|
aec613ba75 | ||
|
|
8b8ca85d96 | ||
|
|
9a05b36478 | ||
|
|
fbd6fb61f5 | ||
|
|
d559cd2412 | ||
|
|
764b1c27bf | ||
|
|
520d80a96b | ||
|
|
76d7a31b65 | ||
|
|
5a6d1787c5 | ||
|
|
2d025b43ed | ||
|
|
eb12c64f07 | ||
|
|
8212d441c2 | ||
|
|
9c46ae8b0f | ||
|
|
1133283e0e | ||
|
|
2bed4b25eb | ||
|
|
30100b4e7c | ||
|
|
209e71255b | ||
|
|
45a0f3c588 | ||
|
|
09221f952a | ||
|
|
bfdf07d0eb | ||
|
|
e5f8eb3a30 | ||
|
|
34ba60d526 | ||
|
|
b40957e28b | ||
|
|
2dae8fdef4 | ||
|
|
f1c6b6f949 | ||
|
|
ee3911cceb | ||
|
|
1d38b68889 | ||
|
|
6441d0b2d5 | ||
|
|
471dbd8bab | ||
|
|
c883fbdb81 | ||
|
|
6d7f8a1123 | ||
|
|
be9d3b334c | ||
|
|
81acc5285c | ||
|
|
56c02faedc | ||
|
|
415402e61b | ||
|
|
a74c5ef943 | ||
|
|
78c44bf237 | ||
|
|
1fc983bd4e | ||
|
|
569aaf1156 | ||
|
|
261aa45d07 | ||
|
|
0915598d64 | ||
|
|
41865631ed | ||
|
|
7fd470c1cb | ||
|
|
4f9999c700 | ||
|
|
5b4e424cda | ||
|
|
cdb7a4c9d8 | ||
|
|
5721cc75b6 | ||
|
|
5e349e237a | ||
|
|
e9205482e7 | ||
|
|
c7ace935aa | ||
|
|
5d8fb01710 | ||
|
|
1e9a21023f | ||
|
|
cce1d1ac8f | ||
|
|
2350175373 | ||
|
|
dded736c8f | ||
|
|
68e6b7ff3e | ||
|
|
a3b54f7bdb | ||
|
|
9ea891bf64 | ||
|
|
854dbacd14 | ||
|
|
f21f649387 | ||
|
|
224b1b022a | ||
|
|
eb299f5ec7 | ||
|
|
a69595ee4e | ||
|
|
287e7b478c | ||
|
|
9af256fffa | ||
|
|
8364a6ac78 | ||
|
|
37525861a7 | ||
|
|
50c173e95d | ||
|
|
d1cf1e2aba | ||
|
|
42c14ecfbb | ||
|
|
5256e27b84 | ||
|
|
e0721aeb58 | ||
|
|
b5b4edcb67 | ||
|
|
c95ee5e8d5 | ||
|
|
0d13a608d5 | ||
|
|
95c34996af | ||
|
|
495250850e | ||
|
|
ac5d8fa5fd | ||
|
|
f5085280e5 | ||
|
|
2014d066e5 | ||
|
|
9def4b8d88 | ||
|
|
f533aae887 | ||
|
|
e1e29c1da7 | ||
|
|
78e95844dc | ||
|
|
8a19663e54 | ||
|
|
193ec10c56 | ||
|
|
35f2aad595 | ||
|
|
08f0e20714 | ||
|
|
bd020eea53 | ||
|
|
87fad5d00f | ||
|
|
01b77f86c9 | ||
|
|
037d028465 | ||
|
|
29810c0445 | ||
|
|
422e910615 | ||
|
|
449c64735a | ||
|
|
8bd0ac8c27 | ||
|
|
6d49b834cb | ||
|
|
0f3fc92746 | ||
|
|
cfafc9cc8a | ||
|
|
efd30809e8 | ||
|
|
bf0df3997c | ||
|
|
729aa6e20e | ||
|
|
a33a432c33 | ||
|
|
ea4600beb3 | ||
|
|
2f6ff1d22c | ||
|
|
ec8b374e49 | ||
|
|
1dd5db7e57 | ||
|
|
48762ed9d2 | ||
|
|
9dbfa03af9 | ||
|
|
2ae91befae | ||
|
|
4b5d833c74 | ||
|
|
c01348af29 | ||
|
|
693482df83 | ||
|
|
2a8c4b51d4 | ||
|
|
da4c54b734 | ||
|
|
d5c4f862e7 | ||
|
|
41a3dae138 | ||
|
|
0902a675db | ||
|
|
c5d89ea6bf | ||
|
|
a4ba1ed340 | ||
|
|
5e65e250c3 | ||
|
|
0abed6f635 | ||
|
|
123e62d275 | ||
|
|
a949e321ae | ||
|
|
e2abc055a2 | ||
|
|
ea9e5ae632 | ||
|
|
12eddd131b | ||
|
|
6fe71dfe9c | ||
|
|
bdeef68a0b | ||
|
|
54d90633e7 | ||
|
|
9f95dc6e47 | ||
|
|
0d66c7dec7 | ||
|
|
677e0ee878 | ||
|
|
2145e31bac | ||
|
|
89af2c8033 | ||
|
|
84686a260d | ||
|
|
a7c898a08f | ||
|
|
61a11c9f5b | ||
|
|
a5d974198b | ||
|
|
0f099354c7 | ||
|
|
198f05b112 | ||
|
|
95fa62f572 | ||
|
|
3e3c88bd26 | ||
|
|
8884491e46 | ||
|
|
5d79ad9363 | ||
|
|
22332b53c2 | ||
|
|
23539a6e53 | ||
|
|
21066acc6e | ||
|
|
4628423784 | ||
|
|
cf45998c3b | ||
|
|
759d872115 | ||
|
|
91acf1647a | ||
|
|
11f5346395 | ||
|
|
a3b6aaf7a6 | ||
|
|
a89a146e20 | ||
|
|
feb3e9acd7 | ||
|
|
018b2bb94b | ||
|
|
68a12b37c6 | ||
|
|
f7f1bf1a43 | ||
|
|
8cebd5975a | ||
|
|
a722d7f001 | ||
|
|
5699ecc01c | ||
|
|
14558975cb | ||
|
|
7268ac98f8 | ||
|
|
8c51b2b018 | ||
|
|
047c284e48 | ||
|
|
815a396fbd | ||
|
|
9be95020f2 | ||
|
|
cf25836d76 | ||
|
|
43c7eceaa9 | ||
|
|
43e421936d | ||
|
|
af769065e6 | ||
|
|
91f19a5c81 | ||
|
|
eb9fa31d6e | ||
|
|
41b22ba6a6 | ||
|
|
b1fed0346c | ||
|
|
4462bcca43 | ||
|
|
99a3967918 | ||
|
|
ee64dcc026 | ||
|
|
7faa0f119e | ||
|
|
47b8e8d9fa | ||
|
|
b2fc824277 | ||
|
|
c3ab407040 | ||
|
|
c0ac84fbc6 | ||
|
|
f4e5fdea96 | ||
|
|
2bfc23c216 | ||
|
|
12e1f328e8 | ||
|
|
fdc942cc6c | ||
|
|
3d507ae473 | ||
|
|
580fcd1fbc | ||
|
|
9a8c557a42 | ||
|
|
cefb9d263a | ||
|
|
0e2a5cddfd | ||
|
|
8ec2e40610 | ||
|
|
02f3386c5b | ||
|
|
5271edf9eb | ||
|
|
7ca1663d89 | ||
|
|
9e53f3d86b | ||
|
|
c5bf0f6768 | ||
|
|
5ad5211f97 | ||
|
|
2fd3c25beb | ||
|
|
bd0b336674 | ||
|
|
846a697d2e | ||
|
|
da1517879a | ||
|
|
96329b9b2e | ||
|
|
3847434c42 | ||
|
|
8af96999b0 | ||
|
|
061a845901 | ||
|
|
a32d56d1ba | ||
|
|
77d5847973 | ||
|
|
d566440e77 | ||
|
|
72b43053cd | ||
|
|
4ab4d829af | ||
|
|
af0fa23eb8 | ||
|
|
df29e8586d | ||
|
|
36a7ff44db | ||
|
|
9242ae1ecb | ||
|
|
2759aa2793 | ||
|
|
6ac865be9f | ||
|
|
775c7722b2 | ||
|
|
7475e517e9 | ||
|
|
5603672983 | ||
|
|
46489f9893 | ||
|
|
d3a919b5f4 | ||
|
|
461ac97998 | ||
|
|
d3ec3f7ebf | ||
|
|
fb2b266661 | ||
|
|
bc0b0b254d | ||
|
|
cc3116f329 | ||
|
|
7bf25cc46e | ||
|
|
d92c9cfcf8 | ||
|
|
730691c589 | ||
|
|
e0c762612b | ||
|
|
8048a0b44f | ||
|
|
6983959aeb | ||
|
|
c3ce23731d | ||
|
|
0e799970e9 | ||
|
|
b5ba5ab490 | ||
|
|
a97192a79d | ||
|
|
f4281d260b | ||
|
|
6ea4570ae8 | ||
|
|
ca016df40d | ||
|
|
3d31de7d69 | ||
|
|
96d99f68b2 | ||
|
|
742466c3ee | ||
|
|
47d673ca4b | ||
|
|
f1a5b720b7 | ||
|
|
bd320e39ed | ||
|
|
7865950ec8 | ||
|
|
315c273de3 | ||
|
|
d9ced82352 | ||
|
|
6d568318f9 | ||
|
|
fb9a509a6f | ||
|
|
a511b885f6 | ||
|
|
b05874ccf7 | ||
|
|
b48f350914 | ||
|
|
804fce06e7 | ||
|
|
544df52730 | ||
|
|
cc66c748c6 | ||
|
|
7d3484c9f3 | ||
|
|
895815b9db | ||
|
|
4ff697e19b | ||
|
|
6c59018d9f | ||
|
|
76c972acfb | ||
|
|
6df7106938 | ||
|
|
18a5e61743 | ||
|
|
f47f96663a | ||
|
|
0805fffa18 | ||
|
|
440f58ad19 | ||
|
|
b20490f046 | ||
|
|
f8851453ad | ||
|
|
84837e0c0f | ||
|
|
4574d0501d | ||
|
|
97cbc3d345 | ||
|
|
bdd6a0e08c | ||
|
|
9f3a1cac1b | ||
|
|
8b51ba17ec | ||
|
|
b28f027080 | ||
|
|
b5b34d20b4 | ||
|
|
91a7c9179c | ||
|
|
2cb75d9d88 | ||
|
|
ab4190a6b5 | ||
|
|
1a7ef3108d | ||
|
|
84fdd7e3fd | ||
|
|
1fc7f0e58a | ||
|
|
6f51750780 | ||
|
|
06292d6687 | ||
|
|
73fb5657f1 | ||
|
|
5689a55e54 | ||
|
|
966161f98a | ||
|
|
c98db84315 | ||
|
|
7650226f25 | ||
|
|
7245364a55 | ||
|
|
28dab2fa05 | ||
|
|
45f27eaeec | ||
|
|
c3e9a961c5 | ||
|
|
30787e49ad | ||
|
|
f9dfe8cbcc | ||
|
|
4ff1b5ac08 | ||
|
|
8bbf060b12 | ||
|
|
98d68fe9ec | ||
|
|
8234aa1b98 | ||
|
|
a6c9ce7612 | ||
|
|
af8268241b | ||
|
|
08d9ff331a | ||
|
|
8be7e9a13f | ||
|
|
9383bb4b30 | ||
|
|
e4fcf3ad5b | ||
|
|
813408d6ee | ||
|
|
fe0e6ed6da | ||
|
|
2bd892d880 | ||
|
|
1a22eae21a | ||
|
|
040c43fe54 | ||
|
|
7df4478f85 | ||
|
|
d4aff92fda | ||
|
|
3509b56a51 | ||
|
|
370191407d | ||
|
|
77becf9179 | ||
|
|
19828410a9 | ||
|
|
9ea048e93d | ||
|
|
8b916d03af | ||
|
|
21bf26fa78 | ||
|
|
a75442126b | ||
|
|
ec7a53376c | ||
|
|
8856af4688 | ||
|
|
d088b69158 | ||
|
|
672dfc8538 | ||
|
|
5e88c5d090 | ||
|
|
c439ab0c8f | ||
|
|
74233fdc2c | ||
|
|
02966a0911 | ||
|
|
989249e7dc | ||
|
|
acb84a6114 | ||
|
|
5fa28e6090 | ||
|
|
5fa4c09b1c | ||
|
|
3c546ec24f | ||
|
|
99b01f3a3c | ||
|
|
66a806c304 | ||
|
|
8e8dd27890 | ||
|
|
864fddffa3 | ||
|
|
8ce4f4683c | ||
|
|
99683bd232 | ||
|
|
895fa784cf | ||
|
|
c5ec8ff3ce | ||
|
|
6b0bd41ac6 | ||
|
|
4e796cd0ba | ||
|
|
937f450f8c | ||
|
|
647703039e | ||
|
|
eaf96fcc86 | ||
|
|
e8d91d805d | ||
|
|
63eeaae22d | ||
|
|
1a9fe45e8e | ||
|
|
3f06a49f79 | ||
|
|
c1bc97ec51 | ||
|
|
20b10e924b | ||
|
|
5181f88db1 | ||
|
|
60720dbf8e | ||
|
|
d4e26ea23c | ||
|
|
9633c57fe0 | ||
|
|
0c0adea2a4 | ||
|
|
bc8842d0d7 | ||
|
|
9c1cb64c77 | ||
|
|
229e34a168 | ||
|
|
406d2b949b | ||
|
|
f9c0065a99 | ||
|
|
396afb5144 | ||
|
|
027d037233 | ||
|
|
09e0e441c5 | ||
|
|
155b7638f9 | ||
|
|
520b60770c | ||
|
|
aaba579314 | ||
|
|
785bd44dbe | ||
|
|
9f3af412f0 | ||
|
|
49a39d42e7 | ||
|
|
ba475b681c | ||
|
|
f9eabecd88 | ||
|
|
61fea0337f | ||
|
|
fd764bd517 | ||
|
|
fcc26154c2 | ||
|
|
7a1b72ca2c | ||
|
|
0cee879225 | ||
|
|
3f9e17fe36 | ||
|
|
2bb417dfd3 | ||
|
|
5e601cb978 | ||
|
|
e86b4b0192 | ||
|
|
eaf02e8328 | ||
|
|
5dd75167c7 | ||
|
|
616e6664fc | ||
|
|
427d43039b | ||
|
|
e2c7c94663 | ||
|
|
49d5513c4e | ||
|
|
a0c373bec6 | ||
|
|
fbf0fec135 | ||
|
|
3dccacae3d | ||
|
|
0102ade759 | ||
|
|
390c76a84f | ||
|
|
bcf7479dbc | ||
|
|
c324f2124b | ||
|
|
3babe7686b | ||
|
|
a8ef160051 | ||
|
|
5a3305f95d | ||
|
|
3c39dc8de0 | ||
|
|
d72e66ed36 | ||
|
|
474cb112c6 | ||
|
|
95a0f4e735 | ||
|
|
ea630e3b99 | ||
|
|
0ee8c07904 | ||
|
|
eed0948e95 | ||
|
|
6da95bc315 | ||
|
|
65161a4129 | ||
|
|
cdbad21daa | ||
|
|
b07b81e8c5 | ||
|
|
f644abbf61 | ||
|
|
6c2e0c0b33 | ||
|
|
9a2254cccb | ||
|
|
3d9ab3d9fb | ||
|
|
cfd37d3cb0 | ||
|
|
9a54abf0ba | ||
|
|
e1bdb843de | ||
|
|
a0fc8accff | ||
|
|
33b15c798d | ||
|
|
a7b1bf1c31 | ||
|
|
14ccb2b7bc | ||
|
|
c56454ae9d | ||
|
|
bea112a63c | ||
|
|
ea639dfee0 | ||
|
|
d7dffe4241 | ||
|
|
41f50ff8ea | ||
|
|
c17be987d2 | ||
|
|
b51090723f | ||
|
|
a274fe3047 | ||
|
|
9e662f3bf3 | ||
|
|
76736aab4e | ||
|
|
ff7e87b33d | ||
|
|
0117b7155d | ||
|
|
0e12c58655 | ||
|
|
e59e3d82a2 | ||
|
|
6c30f58507 | ||
|
|
3ebdb5309e | ||
|
|
c8b11c4447 | ||
|
|
0593c66f70 | ||
|
|
f9f12843d2 | ||
|
|
f85aaed323 | ||
|
|
03d99cb05a | ||
|
|
7cc0cbb132 | ||
|
|
50cb6b91e3 | ||
|
|
ca72541e4e | ||
|
|
9647a24e3a | ||
|
|
d72153c67a | ||
|
|
a2e2b867b0 | ||
|
|
3039a404eb | ||
|
|
cb86156b49 | ||
|
|
907dc7a1e3 | ||
|
|
f09e5afbe9 | ||
|
|
710ef89e36 | ||
|
|
58c044f509 | ||
|
|
bad2e017d0 | ||
|
|
ee4b8c77e4 | ||
|
|
f31300b6e3 | ||
|
|
a7ac8ab017 | ||
|
|
abf813cd25 | ||
|
|
b079955b52 | ||
|
|
35ec122e2f | ||
|
|
69737594cc | ||
|
|
738e75253d | ||
|
|
e8c277d7b8 | ||
|
|
64cb5c5879 | ||
|
|
ef6aef8140 | ||
|
|
6b5a50555e | ||
|
|
1d854604a6 | ||
|
|
2b1da7e564 | ||
|
|
7c507ce2f4 | ||
|
|
ba3e2f6f67 | ||
|
|
3728d137cd | ||
|
|
7ba42cb26e | ||
|
|
4a216056d0 | ||
|
|
fcb4c232e8 | ||
|
|
e0c677a313 | ||
|
|
e20505508e | ||
|
|
e405a3880e | ||
|
|
50f704096f | ||
|
|
907d2a46b2 | ||
|
|
1b8da1ff55 | ||
|
|
026e7501c1 | ||
|
|
fc8eac4048 | ||
|
|
bf71b32c82 | ||
|
|
d9fbd315c7 | ||
|
|
dcfbd9b6e2 | ||
|
|
8f676cf6c3 | ||
|
|
414d07a843 | ||
|
|
a80e1d86a1 | ||
|
|
04c2bbc24d | ||
|
|
63ef847690 | ||
|
|
79dcfefd69 | ||
|
|
48b1266d19 | ||
|
|
4278c057b4 | ||
|
|
e0b3003c95 | ||
|
|
3e0b8e9431 | ||
|
|
a8d750efce | ||
|
|
44b37cfe55 | ||
|
|
fa79c5e93a | ||
|
|
a24a94d0b0 | ||
|
|
257ecd397f | ||
|
|
d7cd9ab744 | ||
|
|
c3c0b95024 | ||
|
|
96b26cafd4 | ||
|
|
d1eae2d1a2 | ||
|
|
f9efbb6686 | ||
|
|
761b357e46 | ||
|
|
2fabd39ea1 | ||
|
|
b4a9d546aa | ||
|
|
fc3f17ba97 | ||
|
|
4cfbbca96b | ||
|
|
4a419d52cc | ||
|
|
ec8952ed46 | ||
|
|
38c0284bbe | ||
|
|
e4dd7bf14b | ||
|
|
fa391ee77f | ||
|
|
54499e9c2c | ||
|
|
b5a63fb6ee | ||
|
|
b194d85a8c | ||
|
|
0d9fcf0ffc | ||
|
|
af81000d26 | ||
|
|
74dbbc6d00 | ||
|
|
eddac79c54 | ||
|
|
0f0464bb86 | ||
|
|
8fb37c1c0a | ||
|
|
c5bffd887e | ||
|
|
77410ce106 | ||
|
|
271e19f63f | ||
|
|
0152569414 | ||
|
|
58eee72e28 | ||
|
|
f0a4753180 | ||
|
|
c1bd5ae9c7 | ||
|
|
6bbbd5ab01 | ||
|
|
bf22b601f7 | ||
|
|
1fb88c13b0 | ||
|
|
ce82b3943e | ||
|
|
cb110e5e6f | ||
|
|
fce3cf818e | ||
|
|
5fd139261f | ||
|
|
28b2d5d6f7 | ||
|
|
f2ddb335c5 | ||
|
|
f02c1f6964 | ||
|
|
87726fc89b | ||
|
|
16cb8df449 | ||
|
|
6c44f506fc | ||
|
|
6a053f2f45 | ||
|
|
c877c3416e | ||
|
|
126baa93d7 | ||
|
|
6675730571 | ||
|
|
0ce6e6512b | ||
|
|
6b00c44919 | ||
|
|
46a58c7965 | ||
|
|
48538d28b8 | ||
|
|
70aac1151c | ||
|
|
7dce2ee9ec | ||
|
|
52965aa9ae | ||
|
|
0441f89529 | ||
|
|
c8da241825 | ||
|
|
60621520ee | ||
|
|
4c9761eae5 | ||
|
|
f573e78f4b | ||
|
|
fa6ddd5f50 | ||
|
|
de96c8201d | ||
|
|
18c192d307 | ||
|
|
16b9d68773 | ||
|
|
4ee2ce3ba5 | ||
|
|
2f989d57bb | ||
|
|
d7e55e83da | ||
|
|
335cd0c8a1 | ||
|
|
c01ad67614 | ||
|
|
1388d0a4ca | ||
|
|
23f074b9b6 | ||
|
|
eb4d2fc3a3 | ||
|
|
34d8ce59cb | ||
|
|
93473e3dfd | ||
|
|
5c4f3171f7 | ||
|
|
ae924e6e2b | ||
|
|
ca6723e696 | ||
|
|
a138b7b9a8 | ||
|
|
69f59ff803 | ||
|
|
e865f4bc06 | ||
|
|
c0c7e0f468 | ||
|
|
34e9e9f717 | ||
|
|
dc02678a6d | ||
|
|
e5d16a73c5 | ||
|
|
092ce9d5ff | ||
|
|
77e29af522 | ||
|
|
06875d4389 | ||
|
|
85d3680094 | ||
|
|
b3a91f50c1 | ||
|
|
c6cfaa5ce5 | ||
|
|
7c22478618 | ||
|
|
3f8a7f591a | ||
|
|
1ad3f83e17 | ||
|
|
3f7a6e43b8 | ||
|
|
44677d3697 | ||
|
|
fdfc43ce72 | ||
|
|
29311806a9 | ||
|
|
77dc453e75 | ||
|
|
0579c9e6c9 | ||
|
|
98f17e15ae | ||
|
|
ac68edda40 | ||
|
|
27bb848832 | ||
|
|
1eb39a531f | ||
|
|
c65ba7f3fa | ||
|
|
adbda61faf | ||
|
|
feba0cf207 | ||
|
|
e4595b6831 | ||
|
|
0b9483cffc | ||
|
|
7cdd9edb5f | ||
|
|
ec32981f4e | ||
|
|
b78f0124cb | ||
|
|
632bc79924 | ||
|
|
d410bc345c | ||
|
|
89e0e3b658 | ||
|
|
20f30d820b | ||
|
|
c9f3334f4f | ||
|
|
0d8142603b | ||
|
|
958433f253 | ||
|
|
f45e6e016d | ||
|
|
c1858b09d0 | ||
|
|
f97d7edffb | ||
|
|
06a4f65728 | ||
|
|
121ae08240 | ||
|
|
cd68b4b410 | ||
|
|
fa06d2c20b | ||
|
|
d81efe4f71 | ||
|
|
9391c14ad4 | ||
|
|
08b8f9421d | ||
|
|
a111eed8a1 | ||
|
|
b79ed071b8 | ||
|
|
4a07c95e1c | ||
|
|
b99a750655 | ||
|
|
39f59b8040 | ||
|
|
a70b28ea12 | ||
|
|
551d01bf6e | ||
|
|
757e11060f | ||
|
|
f244d89a3d | ||
|
|
ed598e203c | ||
|
|
5596354454 | ||
|
|
fc58f5b003 | ||
|
|
12766dda56 | ||
|
|
a3c5243380 | ||
|
|
5a9499b1db | ||
|
|
716702623d | ||
|
|
0c9bcbf69a | ||
|
|
bfe893adfb | ||
|
|
d66c386881 | ||
|
|
4bdfa894af | ||
|
|
8853afc221 | ||
|
|
abf429acb1 | ||
|
|
608e25c2ee | ||
|
|
56334d9199 | ||
|
|
5a2d69278b | ||
|
|
b281f29f01 | ||
|
|
4497f7ab3a | ||
|
|
3574e40a08 | ||
|
|
d9bcdf3f37 | ||
|
|
48585274cf | ||
|
|
c7d68be8fb | ||
|
|
fdcc373813 | ||
|
|
97da66cd44 | ||
|
|
f4701f6b8a | ||
|
|
e2658ba497 | ||
|
|
30070ce759 | ||
|
|
8f4f51c122 | ||
|
|
cfb01063c0 | ||
|
|
c26671fd4b | ||
|
|
df994a2ebd | ||
|
|
025dac226c | ||
|
|
287dc35640 | ||
|
|
a121c4d042 | ||
|
|
b3d4dc06d4 | ||
|
|
8fc7aff7ef | ||
|
|
0e790e61f2 | ||
|
|
1f2fa331ce | ||
|
|
9593765742 | ||
|
|
698e89e796 | ||
|
|
45178046d0 | ||
|
|
4bee7e598b | ||
|
|
9e1777f5cf | ||
|
|
cef3d383b7 | ||
|
|
a3ccdce0eb | ||
|
|
7240da5016 | ||
|
|
4a05c9547a | ||
|
|
19ddc1dd65 | ||
|
|
f3811d6710 | ||
|
|
3311e40906 | ||
|
|
b8842a34ae | ||
|
|
51aa374225 | ||
|
|
d1206d2e2f | ||
|
|
cc221d669a | ||
|
|
ae8c219130 | ||
|
|
6a75d84f48 | ||
|
|
8c144bfca0 | ||
|
|
2d19c7ae97 | ||
|
|
396c087072 | ||
|
|
9622d6b401 | ||
|
|
b23ea8b965 | ||
|
|
44c28e2af0 | ||
|
|
93cfa243bc | ||
|
|
f91619e5da | ||
|
|
e14dd00019 | ||
|
|
f754f386c9 | ||
|
|
e563ce9dcd | ||
|
|
580e830300 | ||
|
|
cfbfa0844d | ||
|
|
795edb2494 | ||
|
|
4385cb8a88 | ||
|
|
f5701ba3c4 | ||
|
|
0f6f85887e | ||
|
|
772f3ceb5f | ||
|
|
a053d93636 | ||
|
|
4b6a48a30f | ||
|
|
43e857e810 | ||
|
|
b597978a33 | ||
|
|
d09039f6e6 | ||
|
|
cd88400154 | ||
|
|
1d14fa78bf | ||
|
|
125994482e | ||
|
|
02db63aa91 | ||
|
|
10d8e63368 | ||
|
|
5509104a44 | ||
|
|
feb1135bcc | ||
|
|
b31098ed87 | ||
|
|
4eab4ab569 | ||
|
|
12a8797019 | ||
|
|
030d66fb73 | ||
|
|
61025972eb | ||
|
|
c788f4a7f8 | ||
|
|
9825d2f746 | ||
|
|
f8af593177 | ||
|
|
39cb353b13 | ||
|
|
5611a212c5 | ||
|
|
dcfdf37b4f | ||
|
|
4fb2b70c4b | ||
|
|
2e0f9ed020 | ||
|
|
16d7a368c6 | ||
|
|
38cb7aa41d | ||
|
|
eef1d68d4c | ||
|
|
8f17fb43a6 | ||
|
|
3701ac131e | ||
|
|
b591afa2ec | ||
|
|
ec00f59b82 | ||
|
|
2da4408dd1 | ||
|
|
823acd6714 | ||
|
|
3efbf58ab5 | ||
|
|
692718d4ea | ||
|
|
37ba8ac66b | ||
|
|
6354e18ae9 | ||
|
|
acaec08781 | ||
|
|
9c2618f2e8 | ||
|
|
0ede0dbf0c | ||
|
|
37bc06d14a | ||
|
|
4fa88296a7 | ||
|
|
ad42861daf | ||
|
|
0b9ad22e88 | ||
|
|
5bb2df5b89 | ||
|
|
aaaa9f408e | ||
|
|
4e1dec2399 | ||
|
|
8021f0082a | ||
|
|
a526c2e8db | ||
|
|
677abf4924 | ||
|
|
f337a12f90 | ||
|
|
0f5b091655 | ||
|
|
dd5ce7e365 | ||
|
|
19dea507b4 | ||
|
|
72b91534ab | ||
|
|
583edacb11 | ||
|
|
f788fa31ed | ||
|
|
4fbeae1afc | ||
|
|
9e0d562d96 | ||
|
|
88db3b886f | ||
|
|
c628ed9495 | ||
|
|
180e527a18 | ||
|
|
67986ee72c | ||
|
|
84d87e7e9f | ||
|
|
f755fd76b4 | ||
|
|
438661e239 | ||
|
|
0036efba0c | ||
|
|
d0c30147d8 | ||
|
|
34c4aa07de | ||
|
|
45b81fae37 | ||
|
|
2dfa238ff3 | ||
|
|
a093ba5511 | ||
|
|
24420c4371 | ||
|
|
fb09d6bca0 | ||
|
|
f8b360bca6 | ||
|
|
6f67ea1742 | ||
|
|
0ccb8846d3 | ||
|
|
430fe2fd0a | ||
|
|
59550f58ee | ||
|
|
94583d468d | ||
|
|
3844121913 | ||
|
|
93b625bab7 | ||
|
|
8023ea1d34 | ||
|
|
41b669d6e1 | ||
|
|
24d3054bac | ||
|
|
3866a9a8e7 | ||
|
|
7880135824 | ||
|
|
e481de9d28 | ||
|
|
00ed0d017c | ||
|
|
4b6541ae4e | ||
|
|
b5ce9e1a38 | ||
|
|
bdc3b85346 | ||
|
|
339d87ad78 | ||
|
|
052b47fbe4 | ||
|
|
121b992d56 | ||
|
|
5ac3e08b1d | ||
|
|
b5c1972040 | ||
|
|
6c26edbd84 | ||
|
|
0e99e121e8 | ||
|
|
32cb25af62 | ||
|
|
53b55a9f0e | ||
|
|
0d33768f58 | ||
|
|
192588d373 | ||
|
|
86a6ec6bd2 | ||
|
|
a3100980dc | ||
|
|
7e9dd2d6f0 | ||
|
|
4a59bc952f | ||
|
|
9614997482 | ||
|
|
3e9747c59c | ||
|
|
761ee12e6f | ||
|
|
84c5bc9bdf | ||
|
|
3bd4cc8e81 | ||
|
|
f582462177 | ||
|
|
57e5acdbd7 | ||
|
|
f4c7637071 | ||
|
|
8a2908374a | ||
|
|
36dc0e9e3e | ||
|
|
acb4593390 | ||
|
|
5fbfe52d0a | ||
|
|
3a91460e24 | ||
|
|
b70c08c2ec | ||
|
|
8e89b24e5b | ||
|
|
6c10a400ed | ||
|
|
b3d2e7b0ca | ||
|
|
0b7d8f371e | ||
|
|
f5e9df1265 | ||
|
|
600954bf4b | ||
|
|
c51e755f71 | ||
|
|
3644825dc5 | ||
|
|
a1fbd3397b | ||
|
|
1c49bcc3b1 | ||
|
|
b8d7c64a5f | ||
|
|
26692a3199 | ||
|
|
c4dc6511fd | ||
|
|
c3dbe9b09d | ||
|
|
7d6428fcf2 | ||
|
|
76af0228c1 | ||
|
|
a3385df88b | ||
|
|
5c3ecaabb5 | ||
|
|
30bfab34ee | ||
|
|
5103c95f2e | ||
|
|
0f23fac963 | ||
|
|
f89f460b47 | ||
|
|
c8fb0c2e76 | ||
|
|
8e4fdc92ec | ||
|
|
61bb4d2dac | ||
|
|
9c9d147b95 | ||
|
|
adb03c465b | ||
|
|
8168d8a3be | ||
|
|
2b416588f1 | ||
|
|
4e181d715f | ||
|
|
5ea4688e88 | ||
|
|
fff492d89d | ||
|
|
f754dd1373 | ||
|
|
b6988e631e | ||
|
|
585affeeee | ||
|
|
99488e7c8d | ||
|
|
a31ddb7fa1 | ||
|
|
773dba8aca | ||
|
|
0b6eda2ac8 | ||
|
|
3f503a7f4d | ||
|
|
e30d090a2e | ||
|
|
b3dd7f4b8b | ||
|
|
8cb830ba41 | ||
|
|
3819e327e9 | ||
|
|
51fe07daef | ||
|
|
dc0904a6c7 | ||
|
|
feba9d677e | ||
|
|
a0b7d96f67 | ||
|
|
6483d924af | ||
|
|
582f05fa33 | ||
|
|
635027bb81 | ||
|
|
ea6d794c36 | ||
|
|
e2576f1538 | ||
|
|
061357e1df | ||
|
|
117fd3769e | ||
|
|
68e0b0e27e | ||
|
|
30e2d52341 | ||
|
|
c1477e1f2f | ||
|
|
d7eb76d4b2 | ||
|
|
5446b7c6f0 | ||
|
|
bc296728f9 | ||
|
|
a24c15117d | ||
|
|
0aa85163d2 | ||
|
|
77b3a83826 | ||
|
|
c055407249 | ||
|
|
e1685ef46c | ||
|
|
22564de3c8 | ||
|
|
ce065f0324 | ||
|
|
616fa8748f | ||
|
|
4eca2b4b0b | ||
|
|
f214f38f08 | ||
|
|
04b1ba31a9 | ||
|
|
57e0f5ba3f | ||
|
|
d6fa71ba92 | ||
|
|
3e1954f9de | ||
|
|
6c7dbdc91e | ||
|
|
9b291a366a | ||
|
|
c24c5c6196 | ||
|
|
cd0fbb4d81 | ||
|
|
d4ccbaa6df | ||
|
|
07696c7f92 | ||
|
|
ccfd062c85 | ||
|
|
0743243ead | ||
|
|
4c36abde28 | ||
|
|
1896a7f024 | ||
|
|
1bcd48aadc | ||
|
|
78590abfc0 | ||
|
|
b7ac1e1d74 | ||
|
|
3512190373 | ||
|
|
211c0b2e71 | ||
|
|
010f07ed9f | ||
|
|
ba14151a01 | ||
|
|
54f04d8d2c | ||
|
|
4d49b0b2ee | ||
|
|
3a9fdc8b3d | ||
|
|
d7adacd932 | ||
|
|
41e82881f3 | ||
|
|
947864269b | ||
|
|
d218480f6f | ||
|
|
f7cf35369b | ||
|
|
55219ea141 | ||
|
|
b0c46d3c97 | ||
|
|
fa2efcbe15 | ||
|
|
42d931bff4 | ||
|
|
4eb4c84b64 | ||
|
|
a0ba464de1 | ||
|
|
a48911b983 | ||
|
|
cec39f8a70 | ||
|
|
64b4478bac | ||
|
|
8c9de7e4eb | ||
|
|
2d5e9118a5 | ||
|
|
261ad5dae5 | ||
|
|
e0b14db778 | ||
|
|
521b0e1ec4 | ||
|
|
d550ad5614 | ||
|
|
8717fd8b33 | ||
|
|
ef1084302f | ||
|
|
c8397c9d10 | ||
|
|
65f36faf71 | ||
|
|
25f98fdeb0 | ||
|
|
f1e9d05163 | ||
|
|
6edf0a27a4 | ||
|
|
64efa599d0 | ||
|
|
0014c7a525 | ||
|
|
f81d519c91 | ||
|
|
5a03083b57 | ||
|
|
4fcd873f65 | ||
|
|
77fb5a9a24 | ||
|
|
d87ee0e942 | ||
|
|
0dc8c6cd25 | ||
|
|
aeaba6e111 | ||
|
|
0e8a677ecc | ||
|
|
b4cd21752c | ||
|
|
d1a5198efc | ||
|
|
f4c54b20f7 | ||
|
|
7690f12682 | ||
|
|
a39d156d12 | ||
|
|
0d197fa00c | ||
|
|
7d849b7ea0 | ||
|
|
731fd2900a | ||
|
|
f3ace3a526 | ||
|
|
7a73b3bc7a | ||
|
|
275f6eb32f | ||
|
|
6026beb397 | ||
|
|
4d13b8df7a | ||
|
|
4567ee9a13 | ||
|
|
29f8ebddb9 | ||
|
|
51626b6233 | ||
|
|
fd1678dbc9 | ||
|
|
f87cd9c643 | ||
|
|
7798bb6702 | ||
|
|
82eb3a9159 | ||
|
|
25f44f86f8 | ||
|
|
8d05b878d7 | ||
|
|
67f8cffca0 | ||
|
|
eefcce5cf1 | ||
|
|
bf1909295e | ||
|
|
9663d1153f | ||
|
|
4a7774fe5a | ||
|
|
7103de8454 | ||
|
|
d23813f328 | ||
|
|
f586fd285c | ||
|
|
b99e18478f | ||
|
|
7acf53c509 | ||
|
|
486622e3e4 | ||
|
|
70cf55f314 | ||
|
|
a786e93329 | ||
|
|
3a6878ef60 | ||
|
|
df3901fda2 | ||
|
|
2f0daa6fc4 | ||
|
|
757977b7b9 | ||
|
|
8da4e72e77 | ||
|
|
51301a50cc | ||
|
|
a1107eae13 | ||
|
|
f3b2e4498d | ||
|
|
bb443e359f | ||
|
|
c87bc11ad2 | ||
|
|
da87726176 | ||
|
|
1c4e6b77b4 | ||
|
|
501a65e9a3 | ||
|
|
34e74834fd | ||
|
|
68f8668162 | ||
|
|
73f3fe31da | ||
|
|
1f98383535 | ||
|
|
51730556a5 | ||
|
|
c2b5e4b82b | ||
|
|
c96b723aaa | ||
|
|
5f3b3ea559 | ||
|
|
8964caf2aa | ||
|
|
dffe90acff | ||
|
|
ce0e26f008 | ||
|
|
af7c11c4b7 | ||
|
|
656bb34b68 | ||
|
|
d72de24942 | ||
|
|
1dd0f67daf | ||
|
|
07d9feeb09 | ||
|
|
09a934385e | ||
|
|
fff7283568 | ||
|
|
da49328412 | ||
|
|
b88ddef3c5 | ||
|
|
ed302d978c | ||
|
|
059dc4b3bc | ||
|
|
52a88e7301 | ||
|
|
6b3dfa6036 | ||
|
|
93c6fa64f7 | ||
|
|
24ca434bae | ||
|
|
57ef7c823e | ||
|
|
189604474c | ||
|
|
5fe8ed88a6 | ||
|
|
b553f5afc2 | ||
|
|
5e534822b8 | ||
|
|
9e68b0a72b | ||
|
|
c43ca32b7d | ||
|
|
3a70a26b93 | ||
|
|
0effae1cd7 | ||
|
|
240ffe1ca3 | ||
|
|
1a8a2c326e | ||
|
|
7884bbd299 | ||
|
|
996193ea69 | ||
|
|
3574b982ab | ||
|
|
a438be7fcd | ||
|
|
38f7d2dcd0 | ||
|
|
00f03d793f | ||
|
|
18f28ef224 | ||
|
|
921c113375 | ||
|
|
a7cd8c8ef3 | ||
|
|
77044db39f | ||
|
|
bd30fee404 | ||
|
|
00293d022c | ||
|
|
b418afed63 | ||
|
|
99d30b6351 | ||
|
|
cffd355045 | ||
|
|
c4dc7e91f3 | ||
|
|
48b9bbc317 | ||
|
|
f108791379 | ||
|
|
6fb2b3e920 | ||
|
|
00bea730e0 | ||
|
|
134ef9e00e | ||
|
|
f5c09845ae | ||
|
|
a2d7f21518 | ||
|
|
72e3461745 | ||
|
|
8cabae1d46 | ||
|
|
fbc140e99d | ||
|
|
5e249e50dd | ||
|
|
ebf3e0fbd1 | ||
|
|
9c62d49eb4 | ||
|
|
a511e50a7b | ||
|
|
e36c66c87b | ||
|
|
64a6f10338 | ||
|
|
87a8453871 | ||
|
|
abf13874fa | ||
|
|
37379b23ae | ||
|
|
8ec1976bd5 | ||
|
|
0781a325c7 | ||
|
|
c4a5a9aec0 | ||
|
|
e16384adb3 | ||
|
|
ee8bcdfa50 | ||
|
|
58544e6a21 | ||
|
|
cd909913ca | ||
|
|
3ee7ee7e79 | ||
|
|
7843785182 | ||
|
|
705c85281c | ||
|
|
0242fd25e1 | ||
|
|
471fdd61b1 | ||
|
|
bc0b9e9eb3 | ||
|
|
d01404d7ca | ||
|
|
f347ab4714 | ||
|
|
b19691078f | ||
|
|
aa6eb73de8 | ||
|
|
255f97dc56 | ||
|
|
693e420074 | ||
|
|
553333b656 | ||
|
|
9416f137cb | ||
|
|
d3343c0ae9 | ||
|
|
733e0e86f9 | ||
|
|
c3c3c2b522 | ||
|
|
73dae0da47 | ||
|
|
a04e8f87a9 | ||
|
|
7a94af5e82 | ||
|
|
176343e862 | ||
|
|
56d291c963 | ||
|
|
ef399d349c | ||
|
|
082edbff6f | ||
|
|
f96700320e | ||
|
|
d2ec511ede | ||
|
|
44c47586a7 | ||
|
|
19b881561f | ||
|
|
56fe1bfa68 | ||
|
|
8c685eaedb | ||
|
|
b2cd4e8ec0 | ||
|
|
10b8a6e4a5 | ||
|
|
5f3cef251b | ||
|
|
8a3d46b4a7 | ||
|
|
d13c7a959f | ||
|
|
096826a36f | ||
|
|
de7dfc75f9 | ||
|
|
01f06cd0f7 | ||
|
|
9289fe01fd | ||
|
|
e57087e891 | ||
|
|
bd8b0c985a | ||
|
|
61fa72dcd3 | ||
|
|
5d5d1f8953 | ||
|
|
cdb12a381d | ||
|
|
263850624a | ||
|
|
e08e51b939 | ||
|
|
76b0ca53c5 | ||
|
|
18d34c5854 | ||
|
|
ed911d87a3 | ||
|
|
c9fa7356c2 | ||
|
|
ad425f322c | ||
|
|
a8fd047cd6 | ||
|
|
e86171e3c7 | ||
|
|
ba0892fdcb | ||
|
|
00eca00f11 | ||
|
|
dedfd8efd3 | ||
|
|
9feedabf07 | ||
|
|
ed86f50a2f | ||
|
|
e958cce816 | ||
|
|
393d3a19a3 | ||
|
|
ed1d4414a0 | ||
|
|
dddb282ce3 | ||
|
|
c6873a72f6 | ||
|
|
259d0baeb6 | ||
|
|
55269846f1 | ||
|
|
26dd7e00eb | ||
|
|
542412bbe0 | ||
|
|
dd8279bab3 | ||
|
|
5e737510a3 | ||
|
|
6388e8da56 | ||
|
|
2ef9cfdad6 | ||
|
|
502816d210 | ||
|
|
4e12289eaa | ||
|
|
4af101bf7d | ||
|
|
1d46fb5425 | ||
|
|
b98395c8ba | ||
|
|
b2aaca45d5 | ||
|
|
7afc6d3631 | ||
|
|
a6c8b3a2bd | ||
|
|
caeabe3ee8 | ||
|
|
8f389665a1 | ||
|
|
e5c77ef69a | ||
|
|
f0a8c6e281 | ||
|
|
cd7103e3f4 | ||
|
|
5ddb22ab61 | ||
|
|
946bba63d0 | ||
|
|
efb4a643e4 | ||
|
|
148c95e1f2 | ||
|
|
9e9cd213f3 | ||
|
|
f1207fd3f1 | ||
|
|
90826b7064 | ||
|
|
a39f2bd3a9 | ||
|
|
a67b7a6e77 | ||
|
|
53eba2fb6a | ||
|
|
1d32680ab2 | ||
|
|
130f32f3cd | ||
|
|
f3cacb9e99 | ||
|
|
2200a44653 | ||
|
|
90a58388d6 | ||
|
|
e6bd259c0e | ||
|
|
385f493f36 | ||
|
|
f98622fdc9 | ||
|
|
ef5c72c7f8 | ||
|
|
ed1d02d2c2 | ||
|
|
bda461e480 | ||
|
|
d30c32eddc | ||
|
|
caf9ea38df | ||
|
|
ae15d838f0 | ||
|
|
103f24d41d | ||
|
|
8644844b7d | ||
|
|
c43fd88f55 | ||
|
|
cfb7d29013 | ||
|
|
5ceb8e2b48 | ||
|
|
baabf49fba | ||
|
|
b8717b62c8 | ||
|
|
1baa82a7c6 | ||
|
|
bf89f7a0cc | ||
|
|
a0c5ed3761 | ||
|
|
64ab8328b8 | ||
|
|
0543616f15 | ||
|
|
1462443f7c | ||
|
|
a7d465439b | ||
|
|
dfcc9a595f | ||
|
|
04b711946e | ||
|
|
1dc013ee76 | ||
|
|
42497d8627 | ||
|
|
ebf0c71db6 | ||
|
|
0d280ea77f | ||
|
|
c8ec575a9d | ||
|
|
6afb976a44 | ||
|
|
0de5009a66 | ||
|
|
5e2ad38e88 | ||
|
|
50d50b11ad | ||
|
|
3ea3df5c73 | ||
|
|
d54b7dc396 | ||
|
|
e7ec2da063 | ||
|
|
d4b6073c01 | ||
|
|
1630e1a7fb | ||
|
|
b87b79f4ba | ||
|
|
afec6181c4 | ||
|
|
ff3940865e | ||
|
|
4a88f64fa9 | ||
|
|
448d1e2c77 | ||
|
|
5d74795c02 | ||
|
|
b7b9d48d1e | ||
|
|
3c65a26d72 | ||
|
|
ca60309fde | ||
|
|
8f6365015a | ||
|
|
5d8f6d7c97 | ||
|
|
b77b89abfb | ||
|
|
23ced8d006 | ||
|
|
016e5ab97e | ||
|
|
afe963ca5d | ||
|
|
c623e66694 | ||
|
|
97729fd659 | ||
|
|
eed91eaaa0 | ||
|
|
ac111677c0 | ||
|
|
db054add64 | ||
|
|
4eb0852f9f | ||
|
|
816ac51beb | ||
|
|
3d76609f42 | ||
|
|
ecbf0dcf31 | ||
|
|
93651939f2 | ||
|
|
9a8c9dff17 | ||
|
|
4b695a5047 | ||
|
|
d710c2e8b5 | ||
|
|
ae52eaab19 | ||
|
|
c4b1bf3e55 | ||
|
|
1eebb48baa | ||
|
|
537c8f3cc5 | ||
|
|
31ebb1d156 | ||
|
|
f99b8e35bd | ||
|
|
9e8e0709b5 | ||
|
|
35be671d86 | ||
|
|
1ce6772601 | ||
|
|
8c32c00e2b | ||
|
|
974ebe6937 | ||
|
|
7dd2a3ba70 | ||
|
|
92e970456e | ||
|
|
1c71ee2ed7 | ||
|
|
e9129e6f43 |
21
.github/workflows/deployment.yml
vendored
@@ -11,10 +11,10 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Set up JDK 16
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@v1
|
uses: actions/setup-java@v1
|
||||||
with:
|
with:
|
||||||
java-version: 16
|
java-version: 17
|
||||||
- name: Set env
|
- name: Set env
|
||||||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||||
- name: Add Arc release
|
- name: Add Arc release
|
||||||
@@ -24,6 +24,23 @@ jobs:
|
|||||||
git tag ${RELEASE_VERSION}
|
git tag ${RELEASE_VERSION}
|
||||||
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/Arc ${RELEASE_VERSION};
|
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/Arc ${RELEASE_VERSION};
|
||||||
cd ../Mindustry
|
cd ../Mindustry
|
||||||
|
- name: Update JITpack repo
|
||||||
|
run: |
|
||||||
|
cd ../
|
||||||
|
cp -r ./Mindustry ./MindustryJitpack
|
||||||
|
cd MindustryJitpack
|
||||||
|
git clone --depth 1 https://github.com/Anuken/MindustryJitpack.git
|
||||||
|
rm -rf .git
|
||||||
|
cp -r ./MindustryJitpack/.git ./.git
|
||||||
|
rm -rf MindustryJitpack
|
||||||
|
rm -rf .github
|
||||||
|
rm README.md
|
||||||
|
git add .
|
||||||
|
git commit --allow-empty -m "${GITHUB_SHA}"
|
||||||
|
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryJitpack
|
||||||
|
git tag ${RELEASE_VERSION}
|
||||||
|
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryJitpack
|
||||||
|
cd ../Mindustry
|
||||||
- name: Create artifacts
|
- name: Create artifacts
|
||||||
run: |
|
run: |
|
||||||
./gradlew desktop:dist server:dist core:mergedJavadoc -Pbuildversion=${RELEASE_VERSION:1}
|
./gradlew desktop:dist server:dist core:mergedJavadoc -Pbuildversion=${RELEASE_VERSION:1}
|
||||||
|
|||||||
6
.github/workflows/pr.yml
vendored
@@ -8,10 +8,12 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Set up JDK 16
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@v1
|
uses: actions/setup-java@v1
|
||||||
with:
|
with:
|
||||||
java-version: 16
|
java-version: 17
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/gradle-build-action@v2
|
||||||
- name: Run unit tests and build JAR
|
- name: Run unit tests and build JAR
|
||||||
run: ./gradlew test desktop:dist
|
run: ./gradlew test desktop:dist
|
||||||
- name: Upload desktop JAR for testing
|
- name: Upload desktop JAR for testing
|
||||||
|
|||||||
30
.github/workflows/push.yml
vendored
@@ -15,11 +15,39 @@ jobs:
|
|||||||
cd ../MindustryBuilds
|
cd ../MindustryBuilds
|
||||||
BNUM=$(($GITHUB_RUN_NUMBER + 20000))
|
BNUM=$(($GITHUB_RUN_NUMBER + 20000))
|
||||||
git tag ${BNUM}
|
git tag ${BNUM}
|
||||||
git config --global user.name "Build Uploader"
|
git config --global user.name "Github Actions"
|
||||||
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryBuilds ${BNUM}
|
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryBuilds ${BNUM}
|
||||||
- name: Set up JDK 17
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@v1
|
uses: actions/setup-java@v1
|
||||||
with:
|
with:
|
||||||
java-version: 17
|
java-version: 17
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/gradle-build-action@v2
|
||||||
|
- name: Update bundles
|
||||||
|
if: ${{ github.repository == 'Anuken/Mindustry' }}
|
||||||
|
run: |
|
||||||
|
./gradlew updateBundles
|
||||||
|
|
||||||
|
if [ -n "$(git status --porcelain)" ]; then
|
||||||
|
git add core/assets/bundles/*
|
||||||
|
git commit -m "Automatic bundle update"
|
||||||
|
git push
|
||||||
|
fi
|
||||||
|
- name: Update JITpack repo
|
||||||
|
if: ${{ github.repository == 'Anuken/Mindustry' }}
|
||||||
|
run: |
|
||||||
|
cd ../
|
||||||
|
cp -r ./Mindustry ./MindustryJitpack
|
||||||
|
cd MindustryJitpack
|
||||||
|
git clone --depth 1 https://github.com/Anuken/MindustryJitpack.git
|
||||||
|
rm -rf .git
|
||||||
|
cp -r ./MindustryJitpack/.git ./.git
|
||||||
|
rm -rf MindustryJitpack
|
||||||
|
rm -rf .github
|
||||||
|
rm README.md
|
||||||
|
git add .
|
||||||
|
git commit --allow-empty -m "${GITHUB_SHA}"
|
||||||
|
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryJitpack
|
||||||
|
cd ../Mindustry
|
||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: ./gradlew clean cleanTest test --stacktrace
|
run: ./gradlew clean cleanTest test --stacktrace
|
||||||
|
|||||||
1
.gitignore
vendored
@@ -165,4 +165,3 @@ android/libs/
|
|||||||
|
|
||||||
# ignored due to frequent branch conflicts.
|
# ignored due to frequent branch conflicts.
|
||||||
core/assets/logicids.dat
|
core/assets/logicids.dat
|
||||||
core/assets/icons/icons.properties
|
|
||||||
@@ -12,9 +12,11 @@ Do not submit something without at least running the game to see if it compiles.
|
|||||||
If you are submitting a new block, make sure it has a name and description, and that it works correctly in-game. If you are changing existing block mechanics, test them out first.
|
If you are submitting a new block, make sure it has a name and description, and that it works correctly in-game. If you are changing existing block mechanics, test them out first.
|
||||||
|
|
||||||
### Do not make large changes before discussing them first.
|
### Do not make large changes before discussing them first.
|
||||||
If you are interested in adding a large mechanic/feature or changing large amounts of code, first contact me (Anuken) via [Discord](https://discord.gg/mindustry) (preferred method) or via e-mail (*anukendev@gmail.com*).
|
If you are interested in adding a large mechanic/feature or changing large amounts of code, first contact me (Anuken) via [Discord](https://discord.gg/mindustry) - either via PM or by posting in the `#pulls` channel.
|
||||||
For most changes, this should not be necessary. I just want to know if you're doing something big so I can offer advice and/or make sure you're not wasting your time on it.
|
For most changes, this should not be necessary. I just want to know if you're doing something big so I can offer advice and/or make sure you're not wasting your time on it.
|
||||||
|
|
||||||
|
### Do not make formatting PRs.
|
||||||
|
Yes, there are occurrences of trailing spaces, extra newlines, empty indents, and other tiny errors. No, I don't want to merge, view, or get notified by your 1-line PR fixing it. If you're implementing a PR with modification of *actual code*, feel free to fix formatting in the general vicinity of your changes, but please don't waste everyone's time with pointless changes.
|
||||||
|
|
||||||
## Style Guidelines
|
## Style Guidelines
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
[](https://github.com/Anuken/Mindustry/actions)
|
[](https://github.com/Anuken/Mindustry/actions)
|
||||||
[](https://discord.gg/mindustry)
|
[](https://discord.gg/mindustry)
|
||||||
|
|
||||||
A sandbox tower defense game written in Java.
|
The automation tower defense RTS, written in Java.
|
||||||
|
|
||||||
_[Trello Board](https://trello.com/b/aE2tcUwF/mindustry-40-plans)_
|
_[Trello Board](https://trello.com/b/aE2tcUwF/mindustry-40-plans)_
|
||||||
_[Wiki](https://mindustrygame.github.io/wiki)_
|
_[Wiki](https://mindustrygame.github.io/wiki)_
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:resizeableActivity="false"
|
android:resizeableActivity="true"
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
@@ -24,6 +24,7 @@
|
|||||||
android:name="mindustry.android.AndroidLauncher"
|
android:name="mindustry.android.AndroidLauncher"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:screenOrientation="user"
|
android:screenOrientation="user"
|
||||||
|
android:exported="true"
|
||||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout">
|
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout">
|
||||||
|
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ buildscript{
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies{
|
dependencies{
|
||||||
classpath 'com.android.tools.build:gradle:7.0.3'
|
classpath 'com.android.tools.build:gradle:7.2.1'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -29,8 +29,8 @@ task deploy(type: Copy){
|
|||||||
}
|
}
|
||||||
|
|
||||||
android{
|
android{
|
||||||
buildToolsVersion '30.0.3'
|
buildToolsVersion '31.0.0'
|
||||||
compileSdkVersion 30
|
compileSdkVersion 31
|
||||||
sourceSets{
|
sourceSets{
|
||||||
main{
|
main{
|
||||||
manifest.srcFile 'AndroidManifest.xml'
|
manifest.srcFile 'AndroidManifest.xml'
|
||||||
@@ -41,9 +41,6 @@ android{
|
|||||||
assets.srcDirs = ['assets', 'src/main/assets', '../core/assets/']
|
assets.srcDirs = ['assets', 'src/main/assets', '../core/assets/']
|
||||||
jniLibs.srcDirs = ['libs']
|
jniLibs.srcDirs = ['libs']
|
||||||
}
|
}
|
||||||
gp{
|
|
||||||
java.srcDirs = ['srcgp']
|
|
||||||
}
|
|
||||||
|
|
||||||
androidTest.setRoot('tests')
|
androidTest.setRoot('tests')
|
||||||
}
|
}
|
||||||
@@ -59,10 +56,10 @@ android{
|
|||||||
|
|
||||||
applicationId "io.anuke.mindustry"
|
applicationId "io.anuke.mindustry"
|
||||||
minSdkVersion 14
|
minSdkVersion 14
|
||||||
targetSdkVersion 30
|
targetSdkVersion 31
|
||||||
|
|
||||||
versionName versionNameResult
|
versionName versionNameResult
|
||||||
versionCode = (System.getenv("TRAVIS_BUILD_ID") != null ? System.getenv("TRAVIS_BUILD_ID").toInteger() : vcode)
|
versionCode = vcode
|
||||||
|
|
||||||
if(project.hasProperty("release")){
|
if(project.hasProperty("release")){
|
||||||
props['androidBuildCode'] = (vcode + 1).toString()
|
props['androidBuildCode'] = (vcode + 1).toString()
|
||||||
@@ -97,11 +94,12 @@ android{
|
|||||||
|
|
||||||
buildTypes{
|
buildTypes{
|
||||||
all{
|
all{
|
||||||
|
//TODO without these lines (r8 enabled), Mindustry crashes with missing default interface method errors.
|
||||||
|
//WHY THE HELL ARE DEFAULT INTERFACES NOT BEING DESUGARED? WHY DID UPDATING AGP MAKE THIS HAPPEN?
|
||||||
|
//When I ENABLE shrinking, r8 goes and REMOVES ALL DEFAULT INTERFACE CLASSES, which breaks mods. Why?
|
||||||
|
//-keep class mindustry.** { *; } should *keep the classes* - WHY IS R8 REMOVING THEM?
|
||||||
minifyEnabled = true
|
minifyEnabled = true
|
||||||
shrinkResources = true
|
shrinkResources = true
|
||||||
//this is the ONLY WAY I could find to force r8 to keep its filthy hands off of my default interfaces.
|
|
||||||
//may have undesirable side effects
|
|
||||||
debuggable = true
|
|
||||||
proguardFiles("proguard-rules.pro")
|
proguardFiles("proguard-rules.pro")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -113,18 +111,6 @@ android{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Specifies one flavor dimension.
|
|
||||||
flavorDimensions "version"
|
|
||||||
productFlavors{
|
|
||||||
standard{
|
|
||||||
|
|
||||||
}
|
|
||||||
gp{
|
|
||||||
applicationIdSuffix ".gp"
|
|
||||||
versionNameSuffix "-gp"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies{
|
dependencies{
|
||||||
@@ -136,9 +122,6 @@ dependencies{
|
|||||||
natives "com.github.Anuken.Arc:natives-android:${getArcHash()}"
|
natives "com.github.Anuken.Arc:natives-android:${getArcHash()}"
|
||||||
natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}"
|
natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}"
|
||||||
|
|
||||||
gpImplementation "com.google.android.gms:play-services-games:21.0.0"
|
|
||||||
gpImplementation "com.google.android.gms:play-services-auth:19.0.0"
|
|
||||||
|
|
||||||
//TODO dynamically find best android platform jar instead of hard-coding to 30
|
//TODO dynamically find best android platform jar instead of hard-coding to 30
|
||||||
def sdkFile = new File((String)findSdkDir(), "/platforms/android-30/android.jar")
|
def sdkFile = new File((String)findSdkDir(), "/platforms/android-30/android.jar")
|
||||||
if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath)
|
if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath)
|
||||||
|
|||||||
2
android/proguard-rules.pro
vendored
@@ -7,3 +7,5 @@
|
|||||||
-keep class net.jpountz.** { *; }
|
-keep class net.jpountz.** { *; }
|
||||||
-keep class rhino.** { *; }
|
-keep class rhino.** { *; }
|
||||||
-keep class com.android.dex.** { *; }
|
-keep class com.android.dex.** { *; }
|
||||||
|
|
||||||
|
#-printusage out.txt
|
||||||
@@ -33,9 +33,6 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
FileChooser chooser;
|
FileChooser chooser;
|
||||||
Runnable permCallback;
|
Runnable permCallback;
|
||||||
|
|
||||||
Object gpService;
|
|
||||||
Class<?> serviceClass;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState){
|
protected void onCreate(Bundle savedInstanceState){
|
||||||
UncaughtExceptionHandler handler = Thread.getDefaultUncaughtExceptionHandler();
|
UncaughtExceptionHandler handler = Thread.getDefaultUncaughtExceptionHandler();
|
||||||
@@ -243,24 +240,6 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onResume(){
|
|
||||||
super.onResume();
|
|
||||||
|
|
||||||
//TODO enable once GPGS is set up on the GP console
|
|
||||||
if(false && getPackageName().endsWith(".gp")){
|
|
||||||
try{
|
|
||||||
if(gpService == null){
|
|
||||||
serviceClass = Class.forName("mindustry.android.GPGameService");
|
|
||||||
gpService = serviceClass.getConstructor().newInstance();
|
|
||||||
}
|
|
||||||
serviceClass.getMethod("onResume", Context.class).invoke(gpService, this);
|
|
||||||
}catch(Exception e){
|
|
||||||
Log.err("Failed to update Google Play Services", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkFiles(Intent intent){
|
private void checkFiles(Intent intent){
|
||||||
try{
|
try{
|
||||||
Uri uri = intent.getData();
|
Uri uri = intent.getData();
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
package mindustry.android;
|
|
||||||
|
|
||||||
import android.content.*;
|
|
||||||
import arc.util.*;
|
|
||||||
import com.google.android.gms.auth.api.signin.*;
|
|
||||||
import com.google.android.gms.games.*;
|
|
||||||
import mindustry.service.*;
|
|
||||||
|
|
||||||
public class GPGameService extends GameService{
|
|
||||||
private GoogleSignInAccount account;
|
|
||||||
|
|
||||||
public void onResume(Context context){
|
|
||||||
Log.info("[GooglePlayService] Resuming.");
|
|
||||||
|
|
||||||
GoogleSignInAccount current = GoogleSignIn.getLastSignedInAccount(context);
|
|
||||||
|
|
||||||
GoogleSignInOptions options =
|
|
||||||
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN)
|
|
||||||
.requestScopes(Games.SCOPE_GAMES_SNAPSHOTS)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
if(GoogleSignIn.hasPermissions(current, options.getScopeArray())){
|
|
||||||
this.account = current;
|
|
||||||
Log.info("Already signed in to Google Play Games.");
|
|
||||||
}else{
|
|
||||||
GoogleSignIn.getClient(context, options).silentSignIn().addOnCompleteListener(complete -> {
|
|
||||||
if(!complete.isSuccessful()){
|
|
||||||
if(complete.getException() != null){
|
|
||||||
Log.err("Failed to sign in to Google Play Games.", complete.getException());
|
|
||||||
}else{
|
|
||||||
Log.warn("Failed to sign in to Google Play Games.");
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
this.account = complete.getResult();
|
|
||||||
Log.info("Signed in to Google Play Games.");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -123,14 +123,21 @@ public abstract class BaseProcessor extends AbstractProcessor{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void write(TypeSpec.Builder builder, Seq<String> imports) throws Exception{
|
public static void write(TypeSpec.Builder builder, Seq<String> imports) throws Exception{
|
||||||
|
builder.superinterfaces.sort(Structs.comparing(t -> t.toString()));
|
||||||
|
builder.methodSpecs.sort(Structs.comparing(m -> m.toString()));
|
||||||
|
builder.fieldSpecs.sort(Structs.comparing(f -> f.name));
|
||||||
|
|
||||||
JavaFile file = JavaFile.builder(packageName, builder.build()).skipJavaLangImports(true).build();
|
JavaFile file = JavaFile.builder(packageName, builder.build()).skipJavaLangImports(true).build();
|
||||||
|
String writeString;
|
||||||
|
|
||||||
if(imports != null){
|
if(imports != null){
|
||||||
|
imports = imports.map(m -> Seq.with(m.split("\n")).sort().toString("\n"));
|
||||||
|
imports.sort();
|
||||||
String rawSource = file.toString();
|
String rawSource = file.toString();
|
||||||
Seq<String> result = new Seq<>();
|
Seq<String> result = new Seq<>();
|
||||||
for(String s : rawSource.split("\n", -1)){
|
for(String s : rawSource.split("\n", -1)){
|
||||||
result.add(s);
|
result.add(s);
|
||||||
if (s.startsWith("package ")){
|
if(s.startsWith("package ")){
|
||||||
result.add("");
|
result.add("");
|
||||||
for (String i : imports){
|
for (String i : imports){
|
||||||
result.add(i);
|
result.add(i);
|
||||||
@@ -138,14 +145,15 @@ public abstract class BaseProcessor extends AbstractProcessor{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
String out = result.toString("\n");
|
writeString = result.toString("\n");
|
||||||
JavaFileObject object = filer.createSourceFile(file.packageName + "." + file.typeSpec.name, file.typeSpec.originatingElements.toArray(new Element[0]));
|
|
||||||
OutputStream stream = object.openOutputStream();
|
|
||||||
stream.write(out.getBytes());
|
|
||||||
stream.close();
|
|
||||||
}else{
|
}else{
|
||||||
file.writeTo(filer);
|
writeString = file.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JavaFileObject object = filer.createSourceFile(file.packageName + "." + file.typeSpec.name, file.typeSpec.originatingElements.toArray(new Element[0]));
|
||||||
|
Writer stream = object.openWriter();
|
||||||
|
stream.write(writeString);
|
||||||
|
stream.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Seq<Selement> elements(Class<? extends Annotation> type){
|
public Seq<Selement> elements(Class<? extends Annotation> type){
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ public class EntityIO{
|
|||||||
st("write.s($L)", revisions.peek().version);
|
st("write.s($L)", revisions.peek().version);
|
||||||
//write uses most recent revision
|
//write uses most recent revision
|
||||||
for(RevisionField field : revisions.peek().fields){
|
for(RevisionField field : revisions.peek().fields){
|
||||||
io(field.type, "this." + field.name);
|
io(field.type, "this." + field.name, false);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
//read revision
|
//read revision
|
||||||
@@ -107,7 +107,7 @@ public class EntityIO{
|
|||||||
//add code for reading revision
|
//add code for reading revision
|
||||||
for(RevisionField field : rev.fields){
|
for(RevisionField field : rev.fields){
|
||||||
//if the field doesn't exist, the result will be an empty string, it won't get assigned
|
//if the field doesn't exist, the result will be an empty string, it won't get assigned
|
||||||
io(field.type, presentFields.contains(field.name) ? "this." + field.name + " = " : "");
|
io(field.type, presentFields.contains(field.name) ? "this." + field.name + " = " : "", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,7 +125,7 @@ public class EntityIO{
|
|||||||
if(write){
|
if(write){
|
||||||
//write uses most recent revision
|
//write uses most recent revision
|
||||||
for(RevisionField field : revisions.peek().fields){
|
for(RevisionField field : revisions.peek().fields){
|
||||||
io(field.type, "this." + field.name);
|
io(field.type, "this." + field.name, true);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
Revision rev = revisions.peek();
|
Revision rev = revisions.peek();
|
||||||
@@ -147,12 +147,12 @@ public class EntityIO{
|
|||||||
st(field.name + lastSuf + " = this." + field.name);
|
st(field.name + lastSuf + " = this." + field.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
io(field.type, "this." + (sf ? field.name + targetSuf : field.name) + " = ");
|
io(field.type, "this." + (sf ? field.name + targetSuf : field.name) + " = ", true);
|
||||||
|
|
||||||
if(sl){
|
if(sl){
|
||||||
ncont("else" );
|
ncont("else" );
|
||||||
|
|
||||||
io(field.type, "");
|
io(field.type, "", true);
|
||||||
|
|
||||||
//just assign the two values so jumping does not occur on de-possession
|
//just assign the two values so jumping does not occur on de-possession
|
||||||
if(sf){
|
if(sf){
|
||||||
@@ -217,7 +217,7 @@ public class EntityIO{
|
|||||||
econt();
|
econt();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void io(String type, String field) throws Exception{
|
private void io(String type, String field, boolean network) throws Exception{
|
||||||
type = type.replace("mindustry.gen.", "");
|
type = type.replace("mindustry.gen.", "");
|
||||||
type = replacements.get(type, type);
|
type = replacements.get(type, type);
|
||||||
|
|
||||||
@@ -229,8 +229,8 @@ public class EntityIO{
|
|||||||
}else{
|
}else{
|
||||||
st(field + "mindustry.Vars.content.getByID(mindustry.ctype.ContentType.$L, read.s())", BaseProcessor.simpleName(type).toLowerCase().replace("type", ""));
|
st(field + "mindustry.Vars.content.getByID(mindustry.ctype.ContentType.$L, read.s())", BaseProcessor.simpleName(type).toLowerCase().replace("type", ""));
|
||||||
}
|
}
|
||||||
}else if(serializer.writers.containsKey(type) && write){
|
}else if((serializer.writers.containsKey(type) || (network && serializer.netWriters.containsKey(type))) && write){
|
||||||
st("$L(write, $L)", serializer.writers.get(type), field);
|
st("$L(write, $L)", network ? serializer.getNetWriter(type, null) : serializer.writers.get(type), field);
|
||||||
}else if(serializer.mutatorReaders.containsKey(type) && !write && !field.replace(" = ", "").contains(" ") && !field.isEmpty()){
|
}else if(serializer.mutatorReaders.containsKey(type) && !write && !field.replace(" = ", "").contains(" ") && !field.isEmpty()){
|
||||||
st("$L$L(read, $L)", field, serializer.mutatorReaders.get(type), field.replace(" = ", ""));
|
st("$L$L(read, $L)", field, serializer.mutatorReaders.get(type), field.replace(" = ", ""));
|
||||||
}else if(serializer.readers.containsKey(type) && !write){
|
}else if(serializer.readers.containsKey(type) && !write){
|
||||||
@@ -241,7 +241,7 @@ public class EntityIO{
|
|||||||
if(write){
|
if(write){
|
||||||
s("i", field + ".length");
|
s("i", field + ".length");
|
||||||
cont("for(int INDEX = 0; INDEX < $L.length; INDEX ++)", field);
|
cont("for(int INDEX = 0; INDEX < $L.length; INDEX ++)", field);
|
||||||
io(rawType, field + "[INDEX]");
|
io(rawType, field + "[INDEX]", network);
|
||||||
}else{
|
}else{
|
||||||
String fieldName = field.replace(" = ", "").replace("this.", "");
|
String fieldName = field.replace(" = ", "").replace("this.", "");
|
||||||
String lenf = fieldName + "_LENGTH";
|
String lenf = fieldName + "_LENGTH";
|
||||||
@@ -250,7 +250,7 @@ public class EntityIO{
|
|||||||
st("$Lnew $L[$L]", field, type.replace("[]", ""), lenf);
|
st("$Lnew $L[$L]", field, type.replace("[]", ""), lenf);
|
||||||
}
|
}
|
||||||
cont("for(int INDEX = 0; INDEX < $L; INDEX ++)", lenf);
|
cont("for(int INDEX = 0; INDEX < $L; INDEX ++)", lenf);
|
||||||
io(rawType, field.replace(" = ", "[INDEX] = "));
|
io(rawType, field.replace(" = ", "[INDEX] = "), network);
|
||||||
}
|
}
|
||||||
|
|
||||||
econt();
|
econt();
|
||||||
@@ -262,7 +262,7 @@ public class EntityIO{
|
|||||||
if(write){
|
if(write){
|
||||||
s("i", field + ".size");
|
s("i", field + ".size");
|
||||||
cont("for(int INDEX = 0; INDEX < $L.size; INDEX ++)", field);
|
cont("for(int INDEX = 0; INDEX < $L.size; INDEX ++)", field);
|
||||||
io(generic, field + ".get(INDEX)");
|
io(generic, field + ".get(INDEX)", network);
|
||||||
}else{
|
}else{
|
||||||
String fieldName = field.replace(" = ", "").replace("this.", "");
|
String fieldName = field.replace(" = ", "").replace("this.", "");
|
||||||
String lenf = fieldName + "_LENGTH";
|
String lenf = fieldName + "_LENGTH";
|
||||||
@@ -271,7 +271,7 @@ public class EntityIO{
|
|||||||
st("$L.clear()", field.replace(" = ", ""));
|
st("$L.clear()", field.replace(" = ", ""));
|
||||||
}
|
}
|
||||||
cont("for(int INDEX = 0; INDEX < $L; INDEX ++)", lenf);
|
cont("for(int INDEX = 0; INDEX < $L; INDEX ++)", lenf);
|
||||||
io(generic, field.replace(" = ", "_ITEM = ").replace("this.", generic + " "));
|
io(generic, field.replace(" = ", "_ITEM = ").replace("this.", generic + " "), network);
|
||||||
if(!field.isEmpty()){
|
if(!field.isEmpty()){
|
||||||
String temp = field.replace(" = ", "_ITEM").replace("this.", "");
|
String temp = field.replace(" = ", "_ITEM").replace("this.", "");
|
||||||
st("if($L != null) $L.add($L)", temp, field.replace(" = ", ""), temp);
|
st("if($L != null) $L.add($L)", temp, field.replace(" = ", ""), temp);
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
//getter
|
//getter
|
||||||
if(!signatures.contains(cname + "()")){
|
if(!signatures.contains(cname + "()")){
|
||||||
inter.addMethod(MethodSpec.methodBuilder(cname).addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC)
|
inter.addMethod(MethodSpec.methodBuilder(cname).addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC)
|
||||||
.addAnnotations(Seq.with(field.annotations()).select(a -> a.toString().contains("Null")).map(AnnotationSpec::get))
|
.addAnnotations(Seq.with(field.annotations()).select(a -> a.toString().contains("Null") || a.toString().contains("Deprecated")).map(AnnotationSpec::get))
|
||||||
.addJavadoc(field.doc() == null ? "" : field.doc())
|
.addJavadoc(field.doc() == null ? "" : field.doc())
|
||||||
.returns(field.tname()).build());
|
.returns(field.tname()).build());
|
||||||
}
|
}
|
||||||
@@ -153,7 +153,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
.addJavadoc(field.doc() == null ? "" : field.doc())
|
.addJavadoc(field.doc() == null ? "" : field.doc())
|
||||||
.addParameter(ParameterSpec.builder(field.tname(), field.name())
|
.addParameter(ParameterSpec.builder(field.tname(), field.name())
|
||||||
.addAnnotations(Seq.with(field.annotations())
|
.addAnnotations(Seq.with(field.annotations())
|
||||||
.select(a -> a.toString().contains("Null")).map(AnnotationSpec::get)).build()).build());
|
.select(a -> a.toString().contains("Null") || a.toString().contains("Deprecated")).map(AnnotationSpec::get)).build()).build());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -163,7 +163,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
//SPECIAL CASE: components with EntityDefs don't get a base class! the generated class becomes the base class itself
|
//SPECIAL CASE: components with EntityDefs don't get a base class! the generated class becomes the base class itself
|
||||||
if(component.annotation(Component.class).base()){
|
if(component.annotation(Component.class).base()){
|
||||||
|
|
||||||
Seq<Stype> deps = depends.copy().and(component);
|
Seq<Stype> deps = depends.copy().add(component);
|
||||||
baseClassDeps.get(component, ObjectSet::new).addAll(deps);
|
baseClassDeps.get(component, ObjectSet::new).addAll(deps);
|
||||||
|
|
||||||
//do not generate base classes when the component will generate one itself
|
//do not generate base classes when the component will generate one itself
|
||||||
@@ -336,7 +336,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
fbuilder.initializer(varInitializers.get(f.descString()));
|
fbuilder.initializer(varInitializers.get(f.descString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
fbuilder.addModifiers(f.has(ReadOnly.class) ? Modifier.PROTECTED : Modifier.PUBLIC);
|
fbuilder.addModifiers(f.has(ReadOnly.class) || f.is(Modifier.PRIVATE) ? Modifier.PROTECTED : Modifier.PUBLIC);
|
||||||
fbuilder.addAnnotations(f.annotations().map(AnnotationSpec::get));
|
fbuilder.addAnnotations(f.annotations().map(AnnotationSpec::get));
|
||||||
FieldSpec spec = fbuilder.build();
|
FieldSpec spec = fbuilder.build();
|
||||||
|
|
||||||
@@ -409,7 +409,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
err("Type " + type + " has multiple components implementing non-void method " + entry.key + ".");
|
err("Type " + type + " has multiple components implementing non-void method " + entry.key + ".");
|
||||||
}
|
}
|
||||||
|
|
||||||
entry.value.sort(Structs.comps(Structs.comparingFloat(m -> m.has(MethodPriority.class) ? m.annotation(MethodPriority.class).value() : 0), Structs.comparing(Selement::name)));
|
entry.value.sort(Structs.comps(Structs.comparingFloat(m -> m.has(MethodPriority.class) ? m.annotation(MethodPriority.class).value() : 0), Structs.comparing(s -> s.up().getSimpleName().toString())));
|
||||||
|
|
||||||
//representative method
|
//representative method
|
||||||
Smethod first = entry.value.first();
|
Smethod first = entry.value.first();
|
||||||
@@ -545,6 +545,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
builder.addSuperinterface(Poolable.class);
|
builder.addSuperinterface(Poolable.class);
|
||||||
//implement reset()
|
//implement reset()
|
||||||
MethodSpec.Builder resetBuilder = MethodSpec.methodBuilder("reset").addModifiers(Modifier.PUBLIC);
|
MethodSpec.Builder resetBuilder = MethodSpec.methodBuilder("reset").addModifiers(Modifier.PUBLIC);
|
||||||
|
allFieldSpecs.sortComparing(s -> s.name);
|
||||||
for(FieldSpec spec : allFieldSpecs){
|
for(FieldSpec spec : allFieldSpecs){
|
||||||
@Nullable Svar variable = specVariables.get(spec);
|
@Nullable Svar variable = specVariables.get(spec);
|
||||||
if(variable != null && variable.isAny(Modifier.STATIC, Modifier.FINAL)) continue;
|
if(variable != null && variable.isAny(Modifier.STATIC, Modifier.FINAL)) continue;
|
||||||
@@ -595,10 +596,14 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
//write the groups
|
//write the groups
|
||||||
groupsBuilder.addMethod(groupInit.build());
|
groupsBuilder.addMethod(groupInit.build());
|
||||||
|
|
||||||
|
groupsBuilder.addField(boolean.class, "isClearing", Modifier.PUBLIC, Modifier.STATIC);
|
||||||
|
|
||||||
MethodSpec.Builder groupClear = MethodSpec.methodBuilder("clear").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
MethodSpec.Builder groupClear = MethodSpec.methodBuilder("clear").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
||||||
|
groupClear.addStatement("isClearing = true");
|
||||||
for(GroupDefinition group : groupDefs){
|
for(GroupDefinition group : groupDefs){
|
||||||
groupClear.addStatement("$L.clear()", group.name);
|
groupClear.addStatement("$L.clear()", group.name);
|
||||||
}
|
}
|
||||||
|
groupClear.addStatement("isClearing = false");
|
||||||
|
|
||||||
//write clear
|
//write clear
|
||||||
groupsBuilder.addMethod(groupClear.build());
|
groupsBuilder.addMethod(groupClear.build());
|
||||||
@@ -800,12 +805,12 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
write(def.builder, imports.asArray());
|
write(def.builder, imports.toSeq());
|
||||||
}
|
}
|
||||||
|
|
||||||
//write base classes last
|
//write base classes last
|
||||||
for(TypeSpec.Builder b : baseClasses){
|
for(TypeSpec.Builder b : baseClasses){
|
||||||
write(b, imports.asArray());
|
write(b, imports.toSeq());
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO nulls were an awful idea
|
//TODO nulls were an awful idea
|
||||||
@@ -817,7 +822,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
//create mock types of all components
|
//create mock types of all components
|
||||||
for(Stype interf : allInterfaces){
|
for(Stype interf : allInterfaces){
|
||||||
//indirect interfaces to implement methods for
|
//indirect interfaces to implement methods for
|
||||||
Seq<Stype> dependencies = interf.allInterfaces().and(interf);
|
Seq<Stype> dependencies = interf.allInterfaces().add(interf);
|
||||||
Seq<Smethod> methods = dependencies.flatMap(Stype::methods);
|
Seq<Smethod> methods = dependencies.flatMap(Stype::methods);
|
||||||
methods.sortComparing(Object::toString);
|
methods.sortComparing(Object::toString);
|
||||||
|
|
||||||
@@ -852,6 +857,10 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
|
|
||||||
Stype compType = interfaceToComp(method.type());
|
Stype compType = interfaceToComp(method.type());
|
||||||
MethodSpec.Builder builder = MethodSpec.overriding(method.e).addModifiers(Modifier.PUBLIC, Modifier.FINAL);
|
MethodSpec.Builder builder = MethodSpec.overriding(method.e).addModifiers(Modifier.PUBLIC, Modifier.FINAL);
|
||||||
|
int index = 0;
|
||||||
|
for(ParameterSpec spec : builder.parameters){
|
||||||
|
Reflect.set(spec, "name", "arg" + index++);
|
||||||
|
}
|
||||||
builder.addAnnotation(OverrideCallSuper.class); //just in case
|
builder.addAnnotation(OverrideCallSuper.class); //just in case
|
||||||
|
|
||||||
if(!method.isVoid()){
|
if(!method.isVoid()){
|
||||||
@@ -878,7 +887,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
|
|
||||||
nullsBuilder.addField(FieldSpec.builder(type, Strings.camelize(baseName)).initializer("new " + className + "()").addModifiers(Modifier.FINAL, Modifier.STATIC, Modifier.PUBLIC).build());
|
nullsBuilder.addField(FieldSpec.builder(type, Strings.camelize(baseName)).initializer("new " + className + "()").addModifiers(Modifier.FINAL, Modifier.STATIC, Modifier.PUBLIC).build());
|
||||||
|
|
||||||
write(nullBuilder, imports.asArray());
|
write(nullBuilder, imports.toSeq());
|
||||||
}
|
}
|
||||||
|
|
||||||
write(nullsBuilder);
|
write(nullsBuilder);
|
||||||
@@ -934,7 +943,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
out.addAll(getDependencies(comp));
|
out.addAll(getDependencies(comp));
|
||||||
}
|
}
|
||||||
|
|
||||||
defComponents.put(type, out.asArray());
|
defComponents.put(type, out.toSeq());
|
||||||
}
|
}
|
||||||
|
|
||||||
return defComponents.get(type);
|
return defComponents.get(type);
|
||||||
@@ -961,7 +970,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
|
|
||||||
//remove it again just in case
|
//remove it again just in case
|
||||||
out.remove(component);
|
out.remove(component);
|
||||||
componentDependencies.put(component, result.asArray());
|
componentDependencies.put(component, result.toSeq());
|
||||||
}
|
}
|
||||||
|
|
||||||
return componentDependencies.get(component);
|
return componentDependencies.get(component);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package mindustry.annotations.impl;
|
package mindustry.annotations.impl;
|
||||||
|
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
|
import arc.util.*;
|
||||||
import com.squareup.javapoet.*;
|
import com.squareup.javapoet.*;
|
||||||
import mindustry.annotations.Annotations.*;
|
import mindustry.annotations.Annotations.*;
|
||||||
import mindustry.annotations.*;
|
import mindustry.annotations.*;
|
||||||
@@ -63,23 +64,28 @@ public class StructProcess extends BaseProcessor{
|
|||||||
int size = varSize(var);
|
int size = varSize(var);
|
||||||
TypeName varType = var.tname();
|
TypeName varType = var.tname();
|
||||||
String varName = var.name();
|
String varName = var.name();
|
||||||
|
boolean isBool = varType == TypeName.BOOLEAN;
|
||||||
|
|
||||||
//add val param to constructor
|
//add val param to constructor
|
||||||
constructor.addParameter(varType, varName);
|
constructor.addParameter(varType, varName);
|
||||||
|
|
||||||
//[get] field(structType) : fieldType
|
//[get] field(structType) : fieldType
|
||||||
MethodSpec.Builder getter = MethodSpec.methodBuilder(var.name().toString())
|
MethodSpec.Builder getter = MethodSpec.methodBuilder(var.name())
|
||||||
.addModifiers(Modifier.STATIC, Modifier.PUBLIC)
|
.addModifiers(Modifier.STATIC, Modifier.PUBLIC)
|
||||||
.returns(varType)
|
.returns(varType)
|
||||||
.addParameter(structType, structParam);
|
.addParameter(structType, structParam);
|
||||||
//[set] field(structType, fieldType) : structType
|
//[set] field(structType, fieldType) : structType
|
||||||
MethodSpec.Builder setter = MethodSpec.methodBuilder(var.name().toString())
|
MethodSpec.Builder setter = MethodSpec.methodBuilder(var.name())
|
||||||
.addModifiers(Modifier.STATIC, Modifier.PUBLIC)
|
.addModifiers(Modifier.STATIC, Modifier.PUBLIC)
|
||||||
.returns(structType)
|
.returns(structType)
|
||||||
.addParameter(structType, structParam).addParameter(varType, "value");
|
.addParameter(structType, structParam).addParameter(varType, "value");
|
||||||
|
|
||||||
|
//field for offset
|
||||||
|
classBuilder.addField(FieldSpec.builder(structType, "bitMask" + Strings.capitalize(varName), Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL)
|
||||||
|
.initializer(!isBool ? "($T)($L)" : "($T)(1L << $L)", structType, isBool ? offset : bitString(offset, size, structTotalSize)).build());
|
||||||
|
|
||||||
//[getter]
|
//[getter]
|
||||||
if(varType == TypeName.BOOLEAN){
|
if(isBool){
|
||||||
//bools: single bit, is simplified
|
//bools: single bit, is simplified
|
||||||
getter.addStatement("return ($L & (1L << $L)) != 0", structParam, offset);
|
getter.addStatement("return ($L & (1L << $L)) != 0", structParam, offset);
|
||||||
}else if(varType == TypeName.FLOAT){
|
}else if(varType == TypeName.FLOAT){
|
||||||
@@ -104,12 +110,12 @@ public class StructProcess extends BaseProcessor{
|
|||||||
cons.append(" | (").append("(").append(structType).append(")").append("Float.floatToIntBits(").append(varName).append(") << ").append(offset).append("L)");
|
cons.append(" | (").append("(").append(structType).append(")").append("Float.floatToIntBits(").append(varName).append(") << ").append(offset).append("L)");
|
||||||
|
|
||||||
//floats: need conversion
|
//floats: need conversion
|
||||||
setter.addStatement("return ($T)(($L & $L) | (($T)Float.floatToIntBits(value) << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
|
setter.addStatement("return ($T)(($L & (~$L)) | (($T)Float.floatToIntBits(value) << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
|
||||||
}else{
|
}else{
|
||||||
cons.append(" | (((").append(structType).append(")").append(varName).append(" << ").append(offset).append("L)").append(" & ").append(bitString(offset, size, structTotalSize)).append(")");
|
cons.append(" | (((").append(structType).append(")").append(varName).append(" << ").append(offset).append("L)").append(" & ").append(bitString(offset, size, structTotalSize)).append(")");
|
||||||
|
|
||||||
//bytes, shorts, chars, ints
|
//bytes, shorts, chars, ints
|
||||||
setter.addStatement("return ($T)(($L & $L) | (($T)value << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
|
setter.addStatement("return ($T)(($L & (~$L)) | (($T)value << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
doc.append("<br> ").append(varName).append(" [").append(offset).append("..").append(size + offset).append("]\n");
|
doc.append("<br> ").append(varName).append(" [").append(offset).append("..").append(size + offset).append("]\n");
|
||||||
@@ -124,7 +130,7 @@ public class StructProcess extends BaseProcessor{
|
|||||||
classBuilder.addJavadoc(doc.toString());
|
classBuilder.addJavadoc(doc.toString());
|
||||||
|
|
||||||
//add constructor final statement + add to class and build
|
//add constructor final statement + add to class and build
|
||||||
constructor.addStatement("return ($T)($L)", structType, cons.toString().substring(3));
|
constructor.addStatement("return ($T)($L)", structType, cons.substring(3));
|
||||||
classBuilder.addMethod(constructor.build());
|
classBuilder.addMethod(constructor.build());
|
||||||
|
|
||||||
JavaFile.builder(packageName, classBuilder.build()).build().writeTo(BaseProcessor.filer);
|
JavaFile.builder(packageName, classBuilder.build()).build().writeTo(BaseProcessor.filer);
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package mindustry.annotations.misc;
|
|||||||
import arc.*;
|
import arc.*;
|
||||||
import arc.graphics.g2d.*;
|
import arc.graphics.g2d.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.struct.ObjectMap.*;
|
|
||||||
import com.squareup.javapoet.*;
|
import com.squareup.javapoet.*;
|
||||||
import mindustry.annotations.Annotations.*;
|
import mindustry.annotations.Annotations.*;
|
||||||
import mindustry.annotations.*;
|
import mindustry.annotations.*;
|
||||||
@@ -34,10 +33,15 @@ public class LoadRegionProcessor extends BaseProcessor{
|
|||||||
fieldMap.get(field.enclosingType(), Seq::new).add(field);
|
fieldMap.get(field.enclosingType(), Seq::new).add(field);
|
||||||
}
|
}
|
||||||
|
|
||||||
for(Entry<Stype, Seq<Svar>> entry : fieldMap){
|
Seq<Stype> entries = Seq.with(fieldMap.keys());
|
||||||
method.beginControlFlow("if(content instanceof $L)", entry.key.fullName());
|
entries.sortComparing(e -> e.name());
|
||||||
|
|
||||||
for(Svar field : entry.value){
|
for(Stype type : entries){
|
||||||
|
Seq<Svar> fields = fieldMap.get(type);
|
||||||
|
fields.sortComparing(s -> s.name());
|
||||||
|
method.beginControlFlow("if(content instanceof $L)", type.fullName());
|
||||||
|
|
||||||
|
for(Svar field : fields){
|
||||||
Load an = field.annotation(Load.class);
|
Load an = field.annotation(Load.class);
|
||||||
//get # of array dimensions
|
//get # of array dimensions
|
||||||
int dims = count(field.mirror().toString(), "[]");
|
int dims = count(field.mirror().toString(), "[]");
|
||||||
@@ -46,7 +50,7 @@ public class LoadRegionProcessor extends BaseProcessor{
|
|||||||
|
|
||||||
//not an array
|
//not an array
|
||||||
if(dims == 0){
|
if(dims == 0){
|
||||||
method.addStatement("(($L)content).$L = $T.atlas.find($L$L)", entry.key.fullName(), field.name(), Core.class, parse(an.value()), fallbackString);
|
method.addStatement("(($L)content).$L = $T.atlas.find($L$L)", type.fullName(), field.name(), Core.class, parse(an.value()), fallbackString);
|
||||||
}else{
|
}else{
|
||||||
//is an array, create length string
|
//is an array, create length string
|
||||||
int[] lengths = an.lengths();
|
int[] lengths = an.lengths();
|
||||||
@@ -59,7 +63,7 @@ public class LoadRegionProcessor extends BaseProcessor{
|
|||||||
StringBuilder lengthString = new StringBuilder();
|
StringBuilder lengthString = new StringBuilder();
|
||||||
for(int value : lengths) lengthString.append("[").append(value).append("]");
|
for(int value : lengths) lengthString.append("[").append(value).append("]");
|
||||||
|
|
||||||
method.addStatement("(($T)content).$L = new $T$L", entry.key.tname(), field.name(), TextureRegion.class, lengthString.toString());
|
method.addStatement("(($T)content).$L = new $T$L", type.tname(), field.name(), TextureRegion.class, lengthString.toString());
|
||||||
|
|
||||||
for(int i = 0; i < dims; i++){
|
for(int i = 0; i < dims; i++){
|
||||||
method.beginControlFlow("for(int INDEX$L = 0; INDEX$L < $L; INDEX$L ++)", i, i, lengths[i], i);
|
method.beginControlFlow("for(int INDEX$L = 0; INDEX$L < $L; INDEX$L ++)", i, i, lengths[i], i);
|
||||||
@@ -70,7 +74,7 @@ public class LoadRegionProcessor extends BaseProcessor{
|
|||||||
indexString.append("[INDEX").append(i).append("]");
|
indexString.append("[INDEX").append(i).append("]");
|
||||||
}
|
}
|
||||||
|
|
||||||
method.addStatement("(($T)content).$L$L = $T.atlas.find($L$L)", entry.key.tname(), field.name(), indexString.toString(), Core.class, parse(an.value()), fallbackString);
|
method.addStatement("(($T)content).$L$L = $T.atlas.find($L$L)", type.tname(), field.name(), indexString.toString(), Core.class, parse(an.value()), fallbackString);
|
||||||
|
|
||||||
for(int i = 0; i < dims; i++){
|
for(int i = 0; i < dims; i++){
|
||||||
method.endControlFlow();
|
method.endControlFlow();
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ public class CallGenerator{
|
|||||||
builder.addStatement("WRITE.$L($L)", typeName.equals("boolean") ? "bool" : typeName.charAt(0) + "", varName);
|
builder.addStatement("WRITE.$L($L)", typeName.equals("boolean") ? "bool" : typeName.charAt(0) + "", varName);
|
||||||
}else{
|
}else{
|
||||||
//else, try and find a serializer
|
//else, try and find a serializer
|
||||||
String ser = serializer.writers.get(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(ent.element.e, var.mirror(), true));
|
String ser = serializer.getNetWriter(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(ent.element.e, var.mirror(), true));
|
||||||
|
|
||||||
if(ser == null){ //make sure a serializer exists!
|
if(ser == null){ //make sure a serializer exists!
|
||||||
BaseProcessor.err("No method to write class type: '" + typeName + "'", var);
|
BaseProcessor.err("No method to write class type: '" + typeName + "'", var);
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class Stype extends Selement<TypeElement>{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Seq<Stype> allInterfaces(){
|
public Seq<Stype> allInterfaces(){
|
||||||
return interfaces().flatMap(s -> s.allInterfaces().and(s)).distinct();
|
return interfaces().flatMap(s -> s.allInterfaces().add(s)).distinct();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Seq<Stype> superclasses(){
|
public Seq<Stype> superclasses(){
|
||||||
@@ -33,7 +33,7 @@ public class Stype extends Selement<TypeElement>{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Seq<Stype> allSuperclasses(){
|
public Seq<Stype> allSuperclasses(){
|
||||||
return superclasses().flatMap(s -> s.allSuperclasses().and(s)).distinct();
|
return superclasses().flatMap(s -> s.allSuperclasses().add(s)).distinct();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Stype superclass(){
|
public Stype superclass(){
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public class TypeIOResolver{
|
|||||||
* Maps fully qualified class names to their serializers.
|
* Maps fully qualified class names to their serializers.
|
||||||
*/
|
*/
|
||||||
public static ClassSerializer resolve(BaseProcessor processor){
|
public static ClassSerializer resolve(BaseProcessor processor){
|
||||||
ClassSerializer out = new ClassSerializer(new ObjectMap<>(), new ObjectMap<>(), new ObjectMap<>());
|
ClassSerializer out = new ClassSerializer(new ObjectMap<>(), new ObjectMap<>(), new ObjectMap<>(), new ObjectMap<>());
|
||||||
for(Stype type : processor.types(TypeIOHandler.class)){
|
for(Stype type : processor.types(TypeIOHandler.class)){
|
||||||
//look at all TypeIOHandler methods
|
//look at all TypeIOHandler methods
|
||||||
Seq<Smethod> methods = type.methods();
|
Seq<Smethod> methods = type.methods();
|
||||||
@@ -25,7 +25,10 @@ public class TypeIOResolver{
|
|||||||
Seq<Svar> params = meth.params();
|
Seq<Svar> params = meth.params();
|
||||||
//2 params, second one is type, first is writer
|
//2 params, second one is type, first is writer
|
||||||
if(params.size == 2 && params.first().tname().toString().equals("arc.util.io.Writes")){
|
if(params.size == 2 && params.first().tname().toString().equals("arc.util.io.Writes")){
|
||||||
out.writers.put(fix(params.get(1).tname().toString()), type.fullName() + "." + meth.name());
|
//Net suffix indicates that this should only be used for sync operations
|
||||||
|
ObjectMap<String, String> targetMap = meth.name().endsWith("Net") ? out.netWriters : out.writers;
|
||||||
|
|
||||||
|
targetMap.put(fix(params.get(1).tname().toString()), type.fullName() + "." + meth.name());
|
||||||
}else if(params.size == 1 && params.first().tname().toString().equals("arc.util.io.Reads") && !meth.isVoid()){
|
}else if(params.size == 1 && params.first().tname().toString().equals("arc.util.io.Reads") && !meth.isVoid()){
|
||||||
//1 param, one is reader, returns type
|
//1 param, one is reader, returns type
|
||||||
out.readers.put(fix(meth.retn().toString()), type.fullName() + "." + meth.name());
|
out.readers.put(fix(meth.retn().toString()), type.fullName() + "." + meth.name());
|
||||||
@@ -47,12 +50,17 @@ public class TypeIOResolver{
|
|||||||
|
|
||||||
/** Information about read/write methods for class types. */
|
/** Information about read/write methods for class types. */
|
||||||
public static class ClassSerializer{
|
public static class ClassSerializer{
|
||||||
public final ObjectMap<String, String> writers, readers, mutatorReaders;
|
public final ObjectMap<String, String> writers, readers, mutatorReaders, netWriters;
|
||||||
|
|
||||||
public ClassSerializer(ObjectMap<String, String> writers, ObjectMap<String, String> readers, ObjectMap<String, String> mutatorReaders){
|
public ClassSerializer(ObjectMap<String, String> writers, ObjectMap<String, String> readers, ObjectMap<String, String> mutatorReaders, ObjectMap<String, String> netWriters){
|
||||||
this.writers = writers;
|
this.writers = writers;
|
||||||
this.readers = readers;
|
this.readers = readers;
|
||||||
this.mutatorReaders = mutatorReaders;
|
this.mutatorReaders = mutatorReaders;
|
||||||
|
this.netWriters = netWriters;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNetWriter(String type, String fallback){
|
||||||
|
return netWriters.get(type, writers.get(type, fallback));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,9 +6,12 @@ atrax=1
|
|||||||
beta=30
|
beta=30
|
||||||
block=2
|
block=2
|
||||||
corvus=24
|
corvus=24
|
||||||
|
elude=45
|
||||||
flare=3
|
flare=3
|
||||||
gamma=31
|
gamma=31
|
||||||
|
latum=46
|
||||||
mace=4
|
mace=4
|
||||||
|
manifold=36
|
||||||
mega=5
|
mega=5
|
||||||
mindustry.entities.comp.BuildingComp=6
|
mindustry.entities.comp.BuildingComp=6
|
||||||
mindustry.entities.comp.BulletComp=7
|
mindustry.entities.comp.BulletComp=7
|
||||||
@@ -19,19 +22,29 @@ mindustry.entities.comp.LaunchCoreComp=11
|
|||||||
mindustry.entities.comp.PlayerComp=12
|
mindustry.entities.comp.PlayerComp=12
|
||||||
mindustry.entities.comp.PosTeam=27
|
mindustry.entities.comp.PosTeam=27
|
||||||
mindustry.entities.comp.PosTeamDef=28
|
mindustry.entities.comp.PosTeamDef=28
|
||||||
|
mindustry.entities.comp.PowerGraphComp=41
|
||||||
|
mindustry.entities.comp.PowerGraphUpdaterComp=42
|
||||||
mindustry.entities.comp.PuddleComp=13
|
mindustry.entities.comp.PuddleComp=13
|
||||||
|
mindustry.entities.comp.WorldLabelComp=35
|
||||||
mindustry.type.Weather.WeatherStateComp=14
|
mindustry.type.Weather.WeatherStateComp=14
|
||||||
mindustry.world.blocks.campaign.LaunchPad.LaunchPayloadComp=15
|
mindustry.world.blocks.campaign.LaunchPad.LaunchPayloadComp=15
|
||||||
mindustry.world.blocks.campaign.PayloadLaunchPad.LargeLaunchPayloadComp=34
|
mindustry.world.blocks.campaign.PayloadLaunchPad.LargeLaunchPayloadComp=34
|
||||||
mindustry.world.blocks.defense.ForceProjector.ForceDrawComp=22
|
mindustry.world.blocks.defense.ForceProjector.ForceDrawComp=22
|
||||||
|
missile=39
|
||||||
mono=16
|
mono=16
|
||||||
nova=17
|
nova=17
|
||||||
oct=26
|
oct=26
|
||||||
|
osc=44
|
||||||
poly=18
|
poly=18
|
||||||
pulsar=19
|
pulsar=19
|
||||||
quad=23
|
quad=23
|
||||||
quasar=32
|
quasar=32
|
||||||
|
renale=47
|
||||||
risso=20
|
risso=20
|
||||||
spiroct=21
|
spiroct=21
|
||||||
|
stell=43
|
||||||
|
timed=38
|
||||||
|
timedDef=37
|
||||||
toxopid=33
|
toxopid=33
|
||||||
|
vanquish=40
|
||||||
vela=25
|
vela=25
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{version:1,fields:[{name:health,type:float},{name:items,type:mindustry.world.modules.ItemModule},{name:liquids,type:mindustry.world.modules.LiquidModule},{name:power,type:mindustry.world.modules.PowerModule},{name:team,type:mindustry.game.Team},{name:x,type:float},{name:y,type:float}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{fields:[]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{fields:[{name:flags,type:byte},{name:fontSize,type:float},{name:text,type:java.lang.String},{name:x,type:float},{name:y,type:float},{name:z,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/alpha/3.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/arkyid/3.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/beta/3.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/block/7.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/corvus/7.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/elude/0.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/flare/7.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/gamma/3.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/latum/0.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/mace/7.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/manifold/0.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{fields:[{name:ammo,type:float},{name:building,type:Building},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/manifold/1.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:1,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:building,type:Building},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/mega/5.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/missile/0.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:lifetime,type:float},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/missile/1.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:1,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:lifetime,type:float},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/mono/6.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:6,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/nova/5.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/oct/5.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/osc/0.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/poly/5.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/pulsar/3.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/quad/6.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:6,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/quasar/3.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/risso/7.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/scuttler/0.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/scuttler/1.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:1,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/spiroct/6.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:6,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/stell/0.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/toxopid/3.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/vanquish/0.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
1
annotations/src/main/resources/revisions/vanquish/1.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{version:1,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
|
||||||
60
build.gradle
@@ -16,30 +16,29 @@ buildscript{
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies{
|
dependencies{
|
||||||
classpath "com.mobidevelop.robovm:robovm-gradle-plugin:2.3.14"
|
|
||||||
classpath "com.github.Anuken.Arc:packer:$arcHash"
|
classpath "com.github.Anuken.Arc:packer:$arcHash"
|
||||||
classpath "com.github.Anuken.Arc:arc-core:$arcHash"
|
classpath "com.github.Anuken.Arc:arc-core:$arcHash"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins{
|
plugins{
|
||||||
id 'org.jetbrains.kotlin.jvm' version '1.6.0-RC'
|
id "org.jetbrains.kotlin.jvm" version "1.6.0"
|
||||||
id "org.jetbrains.kotlin.kapt" version "1.6.0-RC"
|
id "org.jetbrains.kotlin.kapt" version "1.6.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
allprojects{
|
allprojects{
|
||||||
apply plugin: 'maven-publish'
|
apply plugin: 'maven-publish'
|
||||||
|
|
||||||
version = 'release'
|
version = project.hasProperty("packageVersion") ? project.getProperty("packageVersion") : 'release'
|
||||||
group = 'com.github.Anuken'
|
group = 'com.github.Anuken'
|
||||||
|
|
||||||
ext{
|
ext{
|
||||||
versionNumber = '7'
|
versionNumber = '7'
|
||||||
if(!project.hasProperty("versionModifier")) versionModifier = 'pre-alpha'
|
if(!project.hasProperty("versionModifier")) versionModifier = 'alpha'
|
||||||
if(!project.hasProperty("versionType")) versionType = 'official'
|
if(!project.hasProperty("versionType")) versionType = 'official'
|
||||||
appName = 'Mindustry'
|
appName = 'Mindustry'
|
||||||
steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94'
|
steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94'
|
||||||
rhinoVersion = '3c6bbadf73a904eefcc28b6fd8aa742ac575e878'
|
rhinoVersion = '73a812444ac388ac2d94013b5cadc8f70b7ea027'
|
||||||
|
|
||||||
loadVersionProps = {
|
loadVersionProps = {
|
||||||
return new Properties().with{p -> p.load(file('../core/assets/version.properties').newReader()); return p }
|
return new Properties().with{p -> p.load(file('../core/assets/version.properties').newReader()); return p }
|
||||||
@@ -255,42 +254,6 @@ project(":desktop"){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
project(":ios"){
|
|
||||||
apply plugin: "java"
|
|
||||||
apply plugin: "robovm"
|
|
||||||
|
|
||||||
task incrementConfig{
|
|
||||||
def vfile = file('robovm.properties')
|
|
||||||
def bversion = getBuildVersion()
|
|
||||||
def props = new Properties()
|
|
||||||
if(vfile.exists()){
|
|
||||||
props.load(new FileInputStream(vfile))
|
|
||||||
}else{
|
|
||||||
props['app.id'] = 'io.anuke.mindustry'
|
|
||||||
props['app.version'] = '7.0'
|
|
||||||
props['app.mainclass'] = 'mindustry.IOSLauncher'
|
|
||||||
props['app.executable'] = 'IOSLauncher'
|
|
||||||
props['app.name'] = 'Mindustry'
|
|
||||||
}
|
|
||||||
|
|
||||||
props['app.build'] = (!props.containsKey("app.build") ? 40 : props['app.build'].toInteger() + 1) + ""
|
|
||||||
if(bversion != "custom build"){
|
|
||||||
props['app.version'] = versionNumber + "." + bversion + (bversion.contains(".") ? "" : ".0")
|
|
||||||
}
|
|
||||||
props.store(vfile.newWriter(), null)
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies{
|
|
||||||
implementation project(":core")
|
|
||||||
|
|
||||||
implementation arcModule("natives:natives-ios")
|
|
||||||
implementation arcModule("natives:natives-freetype-ios")
|
|
||||||
implementation arcModule("backends:backend-robovm")
|
|
||||||
|
|
||||||
compileOnly project(":annotations")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
project(":core"){
|
project(":core"){
|
||||||
apply plugin: "java-library"
|
apply plugin: "java-library"
|
||||||
apply plugin: "kotlin"
|
apply plugin: "kotlin"
|
||||||
@@ -364,7 +327,7 @@ project(":core"){
|
|||||||
dependencies{
|
dependencies{
|
||||||
compileJava.dependsOn(preGen)
|
compileJava.dependsOn(preGen)
|
||||||
|
|
||||||
api "org.lz4:lz4-java:1.7.1"
|
api "org.lz4:lz4-java:1.8.0"
|
||||||
api arcModule("arc-core")
|
api arcModule("arc-core")
|
||||||
api arcModule("extensions:flabel")
|
api arcModule("extensions:flabel")
|
||||||
api arcModule("extensions:freetype")
|
api arcModule("extensions:freetype")
|
||||||
@@ -375,7 +338,7 @@ project(":core"){
|
|||||||
if(localArc() && debugged()) api arcModule("extensions:recorder")
|
if(localArc() && debugged()) api arcModule("extensions:recorder")
|
||||||
if(localArc()) api arcModule(":extensions:packer")
|
if(localArc()) api arcModule(":extensions:packer")
|
||||||
|
|
||||||
annotationProcessor 'com.github.Anuken:jabel:0.6.0'
|
annotationProcessor 'com.github.Anuken:jabel:0.9.0'
|
||||||
compileOnly project(":annotations")
|
compileOnly project(":annotations")
|
||||||
kapt project(":annotations")
|
kapt project(":annotations")
|
||||||
}
|
}
|
||||||
@@ -402,6 +365,13 @@ project(":core"){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gradle.taskGraph.whenReady{
|
||||||
|
//these are completely unnecessary
|
||||||
|
tasks.kaptGenerateStubsKotlin.onlyIf{ false }
|
||||||
|
tasks.compileKotlin.onlyIf{ false }
|
||||||
|
tasks.inspectClassesForKotlinIC.onlyIf{ false }
|
||||||
|
}
|
||||||
|
|
||||||
//comp** classes are only used for code generation
|
//comp** classes are only used for code generation
|
||||||
jar{
|
jar{
|
||||||
exclude("mindustry/entities/comp/**")
|
exclude("mindustry/entities/comp/**")
|
||||||
@@ -461,7 +431,7 @@ project(":annotations"){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
configure([":core", ":desktop", ":server", ":tools"].collect{project(it)}){
|
configure([":core", ":server"].collect{project(it)}){
|
||||||
java{
|
java{
|
||||||
withJavadocJar()
|
withJavadocJar()
|
||||||
withSourcesJar()
|
withSourcesJar()
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 186 B |
|
Before Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 751 B |
BIN
core/assets-raw/sprites/blocks/defense/barrier-projector.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
core/assets-raw/sprites/blocks/defense/build-tower-base.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
core/assets-raw/sprites/blocks/defense/build-tower-glow.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
core/assets-raw/sprites/blocks/defense/build-tower.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
BIN
core/assets-raw/sprites/blocks/defense/radar-base.png
Normal file
|
After Width: | Height: | Size: 494 B |
BIN
core/assets-raw/sprites/blocks/defense/radar-glow.png
Normal file
|
After Width: | Height: | Size: 619 B |
BIN
core/assets-raw/sprites/blocks/defense/radar.png
Normal file
|
After Width: | Height: | Size: 194 B |
|
After Width: | Height: | Size: 515 B |
BIN
core/assets-raw/sprites/blocks/defense/regen-projector-glow.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
core/assets-raw/sprites/blocks/defense/regen-projector-mid.png
Normal file
|
After Width: | Height: | Size: 791 B |
BIN
core/assets-raw/sprites/blocks/defense/regen-projector.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
core/assets-raw/sprites/blocks/defense/shield-breaker.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
core/assets-raw/sprites/blocks/defense/shield-projector-team.png
Normal file
|
After Width: | Height: | Size: 751 B |
BIN
core/assets-raw/sprites/blocks/defense/shield-projector.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
core/assets-raw/sprites/blocks/defense/shockwave-tower-heat.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
core/assets-raw/sprites/blocks/defense/shockwave-tower.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 751 B |
|
After Width: | Height: | Size: 449 B |
|
After Width: | Height: | Size: 468 B |
|
After Width: | Height: | Size: 633 B |
|
After Width: | Height: | Size: 426 B |
BIN
core/assets-raw/sprites/blocks/distribution/ducts/arrow-glow.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 329 B After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 168 B |
|
After Width: | Height: | Size: 114 B |
|
After Width: | Height: | Size: 158 B |
|
After Width: | Height: | Size: 331 B |
|
After Width: | Height: | Size: 164 B |
|
After Width: | Height: | Size: 392 B |
|
After Width: | Height: | Size: 165 B |
|
After Width: | Height: | Size: 443 B |
|
After Width: | Height: | Size: 211 B |
|
After Width: | Height: | Size: 392 B |
|
Before Width: | Height: | Size: 178 B After Width: | Height: | Size: 178 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 640 B After Width: | Height: | Size: 640 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |