Compare commits
2056 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d7838829ad | ||
|
|
cea45370a6 | ||
|
|
2234a508c3 | ||
|
|
37ce334688 | ||
|
|
2abb218164 | ||
|
|
c8f763173d | ||
|
|
81d4b3d84f | ||
|
|
8d740c6bc1 | ||
|
|
d3379c9c08 | ||
|
|
89cdeead88 | ||
|
|
17d6860505 | ||
|
|
bc9142ad6e | ||
|
|
6c9c770f2d | ||
|
|
ed330fa70c | ||
|
|
7bce2a19e2 | ||
|
|
60ca9e05c0 | ||
|
|
f383d0b8a5 | ||
|
|
b17eb2c870 | ||
|
|
d3c0e397b6 | ||
|
|
a72c35a693 | ||
|
|
d0d7554b1d | ||
|
|
cf9f6ed474 | ||
|
|
eb8da4d4b2 | ||
|
|
a858ed405f | ||
|
|
8f432718cf | ||
|
|
f1ee227b84 | ||
|
|
8c031585cf | ||
|
|
74ddb33239 | ||
|
|
a00919cc02 | ||
|
|
6fe1e4d351 | ||
|
|
f6274dc914 | ||
|
|
783bcf1142 | ||
|
|
b9d6410aba | ||
|
|
b35e503a0f | ||
|
|
024e015dfc | ||
|
|
dd844fc25e | ||
|
|
c60f8787d1 | ||
|
|
4bdc1fdfe1 | ||
|
|
f6199719fd | ||
|
|
2b7baf7fc8 | ||
|
|
5184132e8b | ||
|
|
3a38e7f4ab | ||
|
|
17fdc5bc9f | ||
|
|
0b5f375df6 | ||
|
|
f982124209 | ||
|
|
177541b30c | ||
|
|
2ff2d4ac79 | ||
|
|
77c48dc1d5 | ||
|
|
91d19e2852 | ||
|
|
69885cf90a | ||
|
|
6229de7c55 | ||
|
|
7c8b634086 | ||
|
|
7a6c4b2c15 | ||
|
|
eaaa4d783b | ||
|
|
4c00dfb3b6 | ||
|
|
fe1a89e67a | ||
|
|
5dbe6f8c9c | ||
|
|
0fce1c591f | ||
|
|
d9e3101212 | ||
|
|
21b5308420 | ||
|
|
0d31ec5b21 | ||
|
|
65bf650868 | ||
|
|
e3aff3c23a | ||
|
|
1444ed6b7c | ||
|
|
1f98173197 | ||
|
|
b7c6725b44 | ||
|
|
f9e0746e1c | ||
|
|
b2c55e307c | ||
|
|
99033e3fb2 | ||
|
|
053f202f32 | ||
|
|
991625dea4 | ||
|
|
0ca310da54 | ||
|
|
d40d6f319e | ||
|
|
3a8d70ff27 | ||
|
|
1aed1c1517 | ||
|
|
a801069a3a | ||
|
|
e67078355a | ||
|
|
0d2e4af2a3 | ||
|
|
3e7ef8c77c | ||
|
|
b09763d89e | ||
|
|
bf3d35463f | ||
|
|
a753bb0c1b | ||
|
|
d2ea81bdbc | ||
|
|
d4b663220f | ||
|
|
f4353fb0e9 | ||
|
|
3ec955bf2c | ||
|
|
68d21ddd23 | ||
|
|
16e6df9503 | ||
|
|
7c696ac213 | ||
|
|
d18232df10 | ||
|
|
d6a1a8eda8 | ||
|
|
ced2c85076 | ||
|
|
6ef9ecc147 | ||
|
|
c704dfbfb2 | ||
|
|
d751ed3540 | ||
|
|
1202ea609e | ||
|
|
252e66736a | ||
|
|
42f2c34a46 | ||
|
|
c78e90a5b5 | ||
|
|
a52cd305b7 | ||
|
|
6a00c0ad1d | ||
|
|
e6c1f652db | ||
|
|
48bdc6c951 | ||
|
|
939dc20855 | ||
|
|
8c39eac856 | ||
|
|
272199dced | ||
|
|
cab90b8fe2 | ||
|
|
d5a8b80f5a | ||
|
|
4f3a179be4 | ||
|
|
519c90dd9d | ||
|
|
3d46b41efc | ||
|
|
fbf1f9e1e0 | ||
|
|
d0cd6e8b21 | ||
|
|
90c51fbb2d | ||
|
|
edf7714f0c | ||
|
|
77241ee496 | ||
|
|
ad0e8383e4 | ||
|
|
795debeb0d | ||
|
|
b7a7efd9db | ||
|
|
d005aefdc7 | ||
|
|
30647615f2 | ||
|
|
3ee3aaf7d8 | ||
|
|
a2403e4eee | ||
|
|
3e618c062a | ||
|
|
b1bc13cb0d | ||
|
|
fe60f5fe81 | ||
|
|
7bf463c7ea | ||
|
|
e1df4e5072 | ||
|
|
1b860218e0 | ||
|
|
75347a2f37 | ||
|
|
29985718a7 | ||
|
|
8cf2b7ab69 | ||
|
|
a99eaac35d | ||
|
|
c4eb931192 | ||
|
|
a6a053e10e | ||
|
|
ad26450151 | ||
|
|
e4f5d7784a | ||
|
|
023816aa65 | ||
|
|
bf6439db00 | ||
|
|
1b320d5325 | ||
|
|
6d872ed176 | ||
|
|
00ce669edb | ||
|
|
61dc3013f4 | ||
|
|
c4ba879382 | ||
|
|
495e5f1429 | ||
|
|
827f5a71bc | ||
|
|
573c72f72d | ||
|
|
612be9737d | ||
|
|
4bc339e82b | ||
|
|
668fc41862 | ||
|
|
457b8c3bf2 | ||
|
|
135f2a1e45 | ||
|
|
2d9cab915a | ||
|
|
22d8d16b71 | ||
|
|
453906e350 | ||
|
|
5e16e0d1ba | ||
|
|
1c09918225 | ||
|
|
251e1634f7 | ||
|
|
727d4579a0 | ||
|
|
52e3177ef2 | ||
|
|
fc40971dc7 | ||
|
|
ccc26f400d | ||
|
|
210a250dce | ||
|
|
a2594f1fb7 | ||
|
|
587155353c | ||
|
|
2b398b425d | ||
|
|
67c7102687 | ||
|
|
6212af0f48 | ||
|
|
5688b28981 | ||
|
|
c162eff8cf | ||
|
|
60e6d314e0 | ||
|
|
7cf722114b | ||
|
|
8645cb9e1e | ||
|
|
275eb9e06e | ||
|
|
60b4bb31f5 | ||
|
|
a5eb2eba37 | ||
|
|
a00cf2a1d1 | ||
|
|
b863188c3c | ||
|
|
21778de9fb | ||
|
|
c81eecf6d2 | ||
|
|
402323a990 | ||
|
|
75b335e59c | ||
|
|
9f69336c94 | ||
|
|
331e54a732 | ||
|
|
3d25630dd6 | ||
|
|
5b652ba688 | ||
|
|
c60df6c99d | ||
|
|
8bef671a70 | ||
|
|
9df8e90ab6 | ||
|
|
45d7cecaf3 | ||
|
|
730c8479f9 | ||
|
|
1dca08a33b | ||
|
|
233cec7a9f | ||
|
|
08f69dc832 | ||
|
|
464a6ff1b8 | ||
|
|
c664760359 | ||
|
|
f180b8cc56 | ||
|
|
044bbb3d4b | ||
|
|
c4884e4715 | ||
|
|
253be9e9bd | ||
|
|
db517858fa | ||
|
|
923a8e8fd9 | ||
|
|
8d395620a1 | ||
|
|
a547591608 | ||
|
|
601a4432dc | ||
|
|
ca7c8f5cf9 | ||
|
|
f44ad43413 | ||
|
|
1ec448daef | ||
|
|
adee84d60f | ||
|
|
a46786eb28 | ||
|
|
5c7b4b7618 | ||
|
|
bdcb10a54f | ||
|
|
6083ad76d6 | ||
|
|
b66674492b | ||
|
|
0f0e627cf5 | ||
|
|
83e7bfffd0 | ||
|
|
28b1c0e86f | ||
|
|
d0e4aa635b | ||
|
|
a82a2e3571 | ||
|
|
68161b2aaa | ||
|
|
4e7463c77e | ||
|
|
8ab7212aa2 | ||
|
|
16d989e8ca | ||
|
|
0c8e51693a | ||
|
|
9f4e7fb7b2 | ||
|
|
9dd5807cae | ||
|
|
7441ae2e8b | ||
|
|
c8869f4048 | ||
|
|
21440c977d | ||
|
|
06ccc923ea | ||
|
|
c82fc3b5ce | ||
|
|
7a19ae8f40 | ||
|
|
43be15e832 | ||
|
|
4ce2a5c36e | ||
|
|
82e53a8c39 | ||
|
|
dcc7e23b84 | ||
|
|
54e4d881a7 | ||
|
|
83f8d1c5d7 | ||
|
|
cf738e76d3 | ||
|
|
744e380df9 | ||
|
|
8970fa673b | ||
|
|
88e09bbd05 | ||
|
|
7d86578152 | ||
|
|
6fd6f9061c | ||
|
|
ba918b27ee | ||
|
|
0b90a471d6 | ||
|
|
24fd17ecf8 | ||
|
|
06ec97676e | ||
|
|
4e4752856b | ||
|
|
bc79115985 | ||
|
|
6ecd762d18 | ||
|
|
0fa1f04e71 | ||
|
|
225be4d9aa | ||
|
|
29b89ba562 | ||
|
|
7d51b985a6 | ||
|
|
91bfa11a4f | ||
|
|
46834a6ee9 | ||
|
|
07119b88f6 | ||
|
|
95af76a3b2 | ||
|
|
0132f7aa5e | ||
|
|
4df34c82c2 | ||
|
|
50d49e47e7 | ||
|
|
b29c37eb25 | ||
|
|
c7d09d8389 | ||
|
|
87ce6df145 | ||
|
|
f5a20110c4 | ||
|
|
264183a42a | ||
|
|
af0de566fe | ||
|
|
480adfe83a | ||
|
|
ce5b07b5b1 | ||
|
|
09098893e6 | ||
|
|
414d99525d | ||
|
|
4f42ddadb5 | ||
|
|
901a7ca984 | ||
|
|
d3feccff75 | ||
|
|
ccd17d32d0 | ||
|
|
5c67d11aa6 | ||
|
|
7a529bac6d | ||
|
|
2c62cfd487 | ||
|
|
a27216c317 | ||
|
|
8315acbe86 | ||
|
|
7a2f23db45 | ||
|
|
711f52e5ce | ||
|
|
91f50009e1 | ||
|
|
0cf8c1a970 | ||
|
|
2750b34b4f | ||
|
|
b023dd89b6 | ||
|
|
9504027fdc | ||
|
|
5c7528dbcf | ||
|
|
e856538259 | ||
|
|
1749330e8a | ||
|
|
893e64e4f7 | ||
|
|
169467158a | ||
|
|
ab0a5496b0 | ||
|
|
0c4deea3ed | ||
|
|
dd785a872e | ||
|
|
c8603204ac | ||
|
|
ae81568463 | ||
|
|
2fe9924fe5 | ||
|
|
818233213e | ||
|
|
d9019c0808 | ||
|
|
fdaed6503a | ||
|
|
e10213a373 | ||
|
|
34732a5f54 | ||
|
|
d8d6025652 | ||
|
|
01117f4cb7 | ||
|
|
a25448cde7 | ||
|
|
ef4b18b394 | ||
|
|
683b2fbed8 | ||
|
|
cdfadec38b | ||
|
|
7b434f33e8 | ||
|
|
29f1420abc | ||
|
|
39884d9711 | ||
|
|
a5c9f877f7 | ||
|
|
c603765908 | ||
|
|
a0b4a1f77c | ||
|
|
e0a2a45037 | ||
|
|
4c6f5126a6 | ||
|
|
50da2fef42 | ||
|
|
9dfd513ad3 | ||
|
|
30622010df | ||
|
|
f4d9de9490 | ||
|
|
1092d4121a | ||
|
|
2ec4b78a8a | ||
|
|
1b88f7d3f9 | ||
|
|
2ac3ec6f09 | ||
|
|
73138d2176 | ||
|
|
7cb0d8b843 | ||
|
|
1dc5c48ff6 | ||
|
|
42754fd83c | ||
|
|
301de0f6f7 | ||
|
|
9be1d44788 | ||
|
|
7328c45013 | ||
|
|
3d9526a1dd | ||
|
|
1b8157ef0e | ||
|
|
8d20fd6483 | ||
|
|
66741957c3 | ||
|
|
eb7d8850f4 | ||
|
|
934b9d2856 | ||
|
|
0af443b753 | ||
|
|
41e160ae34 | ||
|
|
8b620627d9 | ||
|
|
d943778309 | ||
|
|
06cb835a5b | ||
|
|
f1a529576e | ||
|
|
1af3cff419 | ||
|
|
5db6b807ba | ||
|
|
1c6b0bdfd5 | ||
|
|
3dfcc65fa6 | ||
|
|
c3937ce517 | ||
|
|
ab1fbaa806 | ||
|
|
6eca5bea2f | ||
|
|
e4d73d95ec | ||
|
|
363383df6d | ||
|
|
0d05804376 | ||
|
|
cdd36a404b | ||
|
|
64c509980c | ||
|
|
46ba018201 | ||
|
|
0cb931e6e2 | ||
|
|
58af6f73d9 | ||
|
|
e81f1299cb | ||
|
|
9b5f9684b0 | ||
|
|
d934c0948c | ||
|
|
917a3a88df | ||
|
|
dc5b8a8c52 | ||
|
|
d2b44e652b | ||
|
|
1ce3b469e7 | ||
|
|
07e6d90c98 | ||
|
|
85231cda01 | ||
|
|
8549b7b1b4 | ||
|
|
9f58ef9916 | ||
|
|
c734ee9fd1 | ||
|
|
77d87902d9 | ||
|
|
b5c8656ac9 | ||
|
|
28f6b73da6 | ||
|
|
521b505543 | ||
|
|
c5a3310103 | ||
|
|
0c053c713a | ||
|
|
bc06f93aae | ||
|
|
8e919aeeb1 | ||
|
|
6bd09e42e0 | ||
|
|
1f670b9919 | ||
|
|
c805a58fb0 | ||
|
|
34517004df | ||
|
|
b0506bcd96 | ||
|
|
7a3a6c04a6 | ||
|
|
54e4b08e1f | ||
|
|
67c22c5186 | ||
|
|
87aba86fa8 | ||
|
|
28ea300f42 | ||
|
|
858c26b46a | ||
|
|
70a6c7149c | ||
|
|
b4a34216c8 | ||
|
|
3868f4eb98 | ||
|
|
44304ee5b3 | ||
|
|
9f4b8d65c8 | ||
|
|
665f8ce755 | ||
|
|
e1d5348f23 | ||
|
|
b596dc9eea | ||
|
|
eb8370b86b | ||
|
|
fa69686f0a | ||
|
|
3fe5372d28 | ||
|
|
3058d42b49 | ||
|
|
4975ee0028 | ||
|
|
d4e1d809f3 | ||
|
|
44cb0d995e | ||
|
|
c73d08187b | ||
|
|
4382c34539 | ||
|
|
cb173b7bf9 | ||
|
|
b5d4674471 | ||
|
|
be1803dfb6 | ||
|
|
417c1af21e | ||
|
|
00bccd02da | ||
|
|
8596443da5 | ||
|
|
a2eda76a26 | ||
|
|
b4e25838bd | ||
|
|
44d703887c | ||
|
|
29fd3e4c96 | ||
|
|
0778b13e2b | ||
|
|
bef1f6d8b8 | ||
|
|
d6a0b04930 | ||
|
|
87ae60f323 | ||
|
|
85df061701 | ||
|
|
4ed44c638f | ||
|
|
54f0cd7864 | ||
|
|
4f523b1b9b | ||
|
|
d492481a4f | ||
|
|
3975a45858 | ||
|
|
5f2fbb370c | ||
|
|
d9bd6bbb32 | ||
|
|
31814bda37 | ||
|
|
8f61b590f8 | ||
|
|
37642c1f78 | ||
|
|
8ea7b4d4cb | ||
|
|
245f5c6e93 | ||
|
|
88d1c29621 | ||
|
|
44926393ac | ||
|
|
5d790c9406 | ||
|
|
66261b0f51 | ||
|
|
e99a9abacd | ||
|
|
b01c1455f5 | ||
|
|
650d794eec | ||
|
|
acf74e7f6e | ||
|
|
53f0c2421d | ||
|
|
01d46615a7 | ||
|
|
57f55e4270 | ||
|
|
5c159e86d7 | ||
|
|
fb03037923 | ||
|
|
ff6e4aec9a | ||
|
|
c78db0eb26 | ||
|
|
324e206b74 | ||
|
|
030dca051a | ||
|
|
24e3fd3267 | ||
|
|
a28f6b1194 | ||
|
|
38e97aa79f | ||
|
|
8adfd1b10b | ||
|
|
ffda7a53fe | ||
|
|
20ddd9157f | ||
|
|
a3f329bd7a | ||
|
|
13c6837b60 | ||
|
|
84fe9fbc74 | ||
|
|
e5ec92ac2a | ||
|
|
12155f9390 | ||
|
|
00da0bd0d1 | ||
|
|
4bf5943ac5 | ||
|
|
f205de7205 | ||
|
|
f782c535f9 | ||
|
|
030d6bc4bb | ||
|
|
9c10574e49 | ||
|
|
9512e5c3db | ||
|
|
8686fef96a | ||
|
|
06285c11c7 | ||
|
|
3b58790c96 | ||
|
|
a8b494f960 | ||
|
|
72c6f448d0 | ||
|
|
ce3c75817c | ||
|
|
56c943d6d1 | ||
|
|
21b0b4c524 | ||
|
|
51daf691b3 | ||
|
|
e889aff42c | ||
|
|
df07b6dc9e | ||
|
|
63c15b54d6 | ||
|
|
b76a231083 | ||
|
|
e0f58e1916 | ||
|
|
78bfa604e2 | ||
|
|
dcbe0c40b0 | ||
|
|
f384d75de8 | ||
|
|
cf6084071b | ||
|
|
0150796064 | ||
|
|
f91186ffa4 | ||
|
|
ba73da321b | ||
|
|
8ae3e1ea98 | ||
|
|
fa5b075af5 | ||
|
|
a66fced2f7 | ||
|
|
33492602fb | ||
|
|
b7dae1025b | ||
|
|
7627a00dce | ||
|
|
d761bac85c | ||
|
|
3bf1cca118 | ||
|
|
cdb056e8ba | ||
|
|
e47256eae7 | ||
|
|
5f1874edae | ||
|
|
22376e873e | ||
|
|
02d882a7c3 | ||
|
|
d878e0c450 | ||
|
|
1430cfd6b4 | ||
|
|
5a3493c0c9 | ||
|
|
911f8f6de6 | ||
|
|
fe8fbd058b | ||
|
|
c4529a0949 | ||
|
|
6ec3a68f0a | ||
|
|
458731778d | ||
|
|
64547271dc | ||
|
|
9e584951ac | ||
|
|
c859fdd08e | ||
|
|
1380ee6f20 | ||
|
|
2da2272a53 | ||
|
|
17b6996ae4 | ||
|
|
0f82b6efba | ||
|
|
178fcb9717 | ||
|
|
19f0c653d1 | ||
|
|
7dc76876e4 | ||
|
|
60457886cc | ||
|
|
ec078b6ccc | ||
|
|
ec730a4383 | ||
|
|
b2b3255f59 | ||
|
|
df925cfcb0 | ||
|
|
5b96f30b1a | ||
|
|
8feb870c8f | ||
|
|
d0b2340a73 | ||
|
|
efac298eb0 | ||
|
|
453c5b0d6e | ||
|
|
816010582a | ||
|
|
a260eb11a8 | ||
|
|
b1d271f1c2 | ||
|
|
3faa959c09 | ||
|
|
a12a5e1637 | ||
|
|
7c6d59a292 | ||
|
|
9836d8595c | ||
|
|
c9d5dfaf1b | ||
|
|
028f6cbb4e | ||
|
|
c56d1b0bec | ||
|
|
2e61f6c13d | ||
|
|
8437467320 | ||
|
|
039be43c2b | ||
|
|
a1af7d9b9f | ||
|
|
4ce37964f4 | ||
|
|
c1cdfa78d3 | ||
|
|
ff4911116c | ||
|
|
bb9d98cc0c | ||
|
|
2d93d9b3cc | ||
|
|
1c60ba6e7f | ||
|
|
11b3989615 | ||
|
|
c9f26a48c7 | ||
|
|
75cbaf0f06 | ||
|
|
de1dc6828d | ||
|
|
e6bf23e536 | ||
|
|
5b16ff4a69 | ||
|
|
ed42c3fd29 | ||
|
|
9cd67eedc1 | ||
|
|
acc589bdb6 | ||
|
|
2d78512ca2 | ||
|
|
84023a5f66 | ||
|
|
443f378d1b | ||
|
|
d4989d7576 | ||
|
|
860b0b64e3 | ||
|
|
ba40253a46 | ||
|
|
95b81b6425 | ||
|
|
b664c2bed1 | ||
|
|
c6c4c17b30 | ||
|
|
5e46016c4d | ||
|
|
da874738d6 | ||
|
|
0a68a056d8 | ||
|
|
5a3a32462d | ||
|
|
c70762f871 | ||
|
|
6c28496dd8 | ||
|
|
90ed6e1fdd | ||
|
|
60d7675a36 | ||
|
|
a9b42127d1 | ||
|
|
01fdcfdfec | ||
|
|
2d383e237f | ||
|
|
143b3d98b1 | ||
|
|
6f4377de76 | ||
|
|
722056e78a | ||
|
|
21710ddfb3 | ||
|
|
13f590c6a2 | ||
|
|
d604ae2d77 | ||
|
|
7a35c253cb | ||
|
|
b5129f702e | ||
|
|
6b1e51b4f6 | ||
|
|
3776bff594 | ||
|
|
3afcc7fdf9 | ||
|
|
e74921cbdf | ||
|
|
e9c33e3bea | ||
|
|
36d4db49ca | ||
|
|
2c40c77403 | ||
|
|
15febaf851 | ||
|
|
02dce1af2e | ||
|
|
5915ceb0a5 | ||
|
|
d6f666d9a0 | ||
|
|
37fa69fc39 | ||
|
|
8e47927805 | ||
|
|
f1c1161da5 | ||
|
|
392382e3e3 | ||
|
|
d6403918b6 | ||
|
|
fc9b0b233c | ||
|
|
f16755b86b | ||
|
|
f45e975b14 | ||
|
|
b3de6a283d | ||
|
|
7fa204fc9c | ||
|
|
f284a9691b | ||
|
|
9bb63a68f5 | ||
|
|
77d20e89c8 | ||
|
|
66f664207a | ||
|
|
bac69f95d8 | ||
|
|
75e372ac9b | ||
|
|
ef31192f33 | ||
|
|
fde707b726 | ||
|
|
e158e95245 | ||
|
|
5b23cc2e33 | ||
|
|
c72cdff0f1 | ||
|
|
831c8f73b0 | ||
|
|
2dc6c62acb | ||
|
|
9e1d1a056c | ||
|
|
9a32ae2c6d | ||
|
|
b1a2003a84 | ||
|
|
e2c1d62552 | ||
|
|
db0f6d6c0b | ||
|
|
bc44ee8056 | ||
|
|
65a9bd55d8 | ||
|
|
2aa0668c28 | ||
|
|
9f5e37a03c | ||
|
|
f27763870c | ||
|
|
ab22e02db8 | ||
|
|
257afd3525 | ||
|
|
eec38de558 | ||
|
|
35de677999 | ||
|
|
8b9dfdf96d | ||
|
|
c830ef88ca | ||
|
|
ba0daed776 | ||
|
|
f37d946b4e | ||
|
|
477419cc32 | ||
|
|
70e8d1c4b3 | ||
|
|
732f795be4 | ||
|
|
00536fa3d9 | ||
|
|
042f00cc58 | ||
|
|
acef89ea03 | ||
|
|
d7770d285f | ||
|
|
7932941a01 | ||
|
|
c4eac5e62b | ||
|
|
763bd60e74 | ||
|
|
3fa52e7ac5 | ||
|
|
9104afdef7 | ||
|
|
942c95e736 | ||
|
|
dc696a0f45 | ||
|
|
d26e9da6c4 | ||
|
|
ea09b1f6bc | ||
|
|
da033eb28e | ||
|
|
b2a0ccba05 | ||
|
|
3f146c94e5 | ||
|
|
9d92bdcd75 | ||
|
|
6354d8ccca | ||
|
|
1d0237f15d | ||
|
|
c535d033ec | ||
|
|
fcf900c5e0 | ||
|
|
c265ce8222 | ||
|
|
658b90067a | ||
|
|
80b6496780 | ||
|
|
711934a249 | ||
|
|
ea5e397595 | ||
|
|
c8dc416071 | ||
|
|
30026fc307 | ||
|
|
7b0fdcd721 | ||
|
|
c0afb3b95e | ||
|
|
5504bf23d1 | ||
|
|
28b51d3335 | ||
|
|
fb91726c35 | ||
|
|
a97a7edca6 | ||
|
|
92b4909fc8 | ||
|
|
3998c21178 | ||
|
|
41d925d7c9 | ||
|
|
7029636291 | ||
|
|
a916c1067f | ||
|
|
7322d4da8b | ||
|
|
31f15b12cb | ||
|
|
4d3e463aba | ||
|
|
166526dbbe | ||
|
|
348ada3f0d | ||
|
|
2c5f6d8332 | ||
|
|
e128d548f4 | ||
|
|
bb2ab1c1fe | ||
|
|
715bedb71a | ||
|
|
8fed9e47d1 | ||
|
|
89f8f7e25e | ||
|
|
7bbba293a6 | ||
|
|
d57a694d3c | ||
|
|
f31d5c04c8 | ||
|
|
85f66a8fec | ||
|
|
48ec606bc5 | ||
|
|
75cc809b16 | ||
|
|
2a27a491e7 | ||
|
|
3e75d70632 | ||
|
|
cf2d094df6 | ||
|
|
18a7955240 | ||
|
|
22ebc27997 | ||
|
|
c53ee24b5b | ||
|
|
25e681c04a | ||
|
|
365e0b49ae | ||
|
|
e3dc78b28e | ||
|
|
e3319f6fe4 | ||
|
|
0a9b006a94 | ||
|
|
5692be3b66 | ||
|
|
6ea5dea849 | ||
|
|
8debcf0fa2 | ||
|
|
1cf4845cb2 | ||
|
|
b9d1292add | ||
|
|
19063fd8db | ||
|
|
76cf732100 | ||
|
|
30a7eef611 | ||
|
|
99f0020583 | ||
|
|
f2e0da47ed | ||
|
|
ca66a428d8 | ||
|
|
f077a4e074 | ||
|
|
e46631a960 | ||
|
|
2da1957c70 | ||
|
|
ad6c48688d | ||
|
|
71da7fb384 | ||
|
|
0159e0e41e | ||
|
|
457a3fdc7a | ||
|
|
8507c0138d | ||
|
|
4f7901b946 | ||
|
|
e239dc039b | ||
|
|
1428eeba06 | ||
|
|
adcf6fb86d | ||
|
|
de2d663968 | ||
|
|
60f6c683a3 | ||
|
|
f8009672e9 | ||
|
|
9fe5ac1994 | ||
|
|
58efb51c07 | ||
|
|
5c3a064746 | ||
|
|
94aefa6dba | ||
|
|
7f6e96459c | ||
|
|
6fe57be115 | ||
|
|
37b3f28065 | ||
|
|
0b9468da1b | ||
|
|
e558f21ebc | ||
|
|
71c1512ef2 | ||
|
|
d03ebdace8 | ||
|
|
d86b9119a4 | ||
|
|
0ab872e152 | ||
|
|
5e7f81678d | ||
|
|
ff510248e9 | ||
|
|
bba5d4380d | ||
|
|
39ad95d4db | ||
|
|
e9adde8ac6 | ||
|
|
8fc120d9f9 | ||
|
|
7f8339aedf | ||
|
|
d2183f3b91 | ||
|
|
11b4aa7308 | ||
|
|
51481daf03 | ||
|
|
1bdd0f6e26 | ||
|
|
1de492973e | ||
|
|
eea96dac73 | ||
|
|
ebc378a620 | ||
|
|
3d08ca0cc1 | ||
|
|
f11cc41df8 | ||
|
|
19ce59b1b4 | ||
|
|
5101ac9d8e | ||
|
|
5149882bb5 | ||
|
|
26222ee853 | ||
|
|
0394e2cda9 | ||
|
|
501b310efa | ||
|
|
53e0b1b81c | ||
|
|
81be616847 | ||
|
|
b9b2c9afb0 | ||
|
|
848cd9a485 | ||
|
|
75921e1130 | ||
|
|
0b14639c66 | ||
|
|
5c54f85de4 | ||
|
|
0202313bc8 | ||
|
|
2671826b19 | ||
|
|
7dc89ad090 | ||
|
|
c54f0ea329 | ||
|
|
d90f3ce309 | ||
|
|
bcc6ced47c | ||
|
|
1b5c61a285 | ||
|
|
ca95192de3 | ||
|
|
c2e04443e3 | ||
|
|
f4f8c94c6a | ||
|
|
f957fca162 | ||
|
|
9671711bf5 | ||
|
|
ea3d4c67f8 | ||
|
|
cab1f59181 | ||
|
|
8c01611850 | ||
|
|
d6b682ab88 | ||
|
|
d2beaa0ab9 | ||
|
|
ce0fafd45b | ||
|
|
c0dbd00b74 | ||
|
|
a556aed34f | ||
|
|
8d19ee8ab3 | ||
|
|
8c4c80731c | ||
|
|
de6619b383 | ||
|
|
941dc253fb | ||
|
|
25705a6b02 | ||
|
|
4d56269130 | ||
|
|
96236df293 | ||
|
|
f447482e32 | ||
|
|
401b8fc496 | ||
|
|
2e2a2aaf03 | ||
|
|
66c2ab38ed | ||
|
|
6e0b7e2c23 | ||
|
|
f335623f69 | ||
|
|
f8369ee39a | ||
|
|
2a1bacdfa4 | ||
|
|
a93dd6586d | ||
|
|
f3dd1be125 | ||
|
|
5b49530df9 | ||
|
|
00555e3c75 | ||
|
|
972746d388 | ||
|
|
db3aaf96c7 | ||
|
|
e12c87b869 | ||
|
|
ad80b000c9 | ||
|
|
9bcc54c56c | ||
|
|
3e6d207bf0 | ||
|
|
6c836e0fde | ||
|
|
5f9e123571 | ||
|
|
20ba624de2 | ||
|
|
12426cf8a7 | ||
|
|
1cd6f00c59 | ||
|
|
365d5784b7 | ||
|
|
a90cddf589 | ||
|
|
5f71017142 | ||
|
|
c81402b8ce | ||
|
|
6122410db1 | ||
|
|
42e240c9ab | ||
|
|
01459b7759 | ||
|
|
cd2f4480f4 | ||
|
|
ce92679be0 | ||
|
|
e9705b2cc5 | ||
|
|
a2007dd59e | ||
|
|
d6052b718e | ||
|
|
6bfc79fb03 | ||
|
|
e9a5f30c71 | ||
|
|
9a61b7f13b | ||
|
|
2073f3d7ed | ||
|
|
774cd46892 | ||
|
|
f593ee7c9f | ||
|
|
47d35446e2 | ||
|
|
3e16969808 | ||
|
|
3e95f5cd05 | ||
|
|
15a8437d79 | ||
|
|
6a213bffa6 | ||
|
|
5be01a7577 | ||
|
|
89b8eabe0c | ||
|
|
3cecc34a9c | ||
|
|
9e76214be8 | ||
|
|
5b059f974f | ||
|
|
ecb4f64f91 | ||
|
|
992121c659 | ||
|
|
cbc41214d8 | ||
|
|
53c7a81666 | ||
|
|
a63065b44f | ||
|
|
cec4494ce6 | ||
|
|
60411027ca | ||
|
|
8d7b9293b5 | ||
|
|
2133dfd80c | ||
|
|
1a75f51aa6 | ||
|
|
2a8c036c63 | ||
|
|
c90f357bff | ||
|
|
4d381452b5 | ||
|
|
087b53c1c5 | ||
|
|
58a2769f2b | ||
|
|
ce38c3e5c5 | ||
|
|
12f7d5e4b6 | ||
|
|
fd703dd4d1 | ||
|
|
3ef4c1f6e0 | ||
|
|
0e95444552 | ||
|
|
aca90db2c2 | ||
|
|
09edd055e6 | ||
|
|
892ef6b1b3 | ||
|
|
ed838815ef | ||
|
|
8d8c4d1a95 | ||
|
|
debdf917ea | ||
|
|
f03961bc19 | ||
|
|
fb4572264d | ||
|
|
d7445a70f9 | ||
|
|
78bcf9a738 | ||
|
|
d71c85412f | ||
|
|
f5c9ab72ef | ||
|
|
5c4cd74c39 | ||
|
|
5a1daf5dc9 | ||
|
|
4de2a45195 | ||
|
|
91d3a6ecb7 | ||
|
|
763918e129 | ||
|
|
525c166f62 | ||
|
|
6b2ed24fc3 | ||
|
|
1eae3a032f | ||
|
|
755cfe19d5 | ||
|
|
559331cf82 | ||
|
|
18fddb1537 | ||
|
|
861620cb6e | ||
|
|
568f3ae94f | ||
|
|
0af00a313e | ||
|
|
ff52f020e2 | ||
|
|
55bf7bcbda | ||
|
|
bccb740c45 | ||
|
|
b7307adc10 | ||
|
|
edb71dcef0 | ||
|
|
7ddf232615 | ||
|
|
a7cdb0a514 | ||
|
|
7157e571c8 | ||
|
|
d073b7b3c0 | ||
|
|
27d67398fb | ||
|
|
cc6ced9197 | ||
|
|
712e42c71f | ||
|
|
53efc96e30 | ||
|
|
5b2ac0f022 | ||
|
|
b5cdcc29bc | ||
|
|
df3e6e5fb7 | ||
|
|
27145bdabe | ||
|
|
71aedfd96d | ||
|
|
8530292fef | ||
|
|
f1bc268f58 | ||
|
|
2e79f5a369 | ||
|
|
1427b1709a | ||
|
|
960d4d35fb | ||
|
|
7a467ce860 | ||
|
|
cd46314b4e | ||
|
|
9c81acff53 | ||
|
|
d8b2e2873b | ||
|
|
98cd6675d9 | ||
|
|
002085ad32 | ||
|
|
2e525dfdcc | ||
|
|
a378e3a72d | ||
|
|
7e14b2fc5a | ||
|
|
51016f9258 | ||
|
|
adad723110 | ||
|
|
a10e7ab279 | ||
|
|
0c124327de | ||
|
|
6c5f706064 | ||
|
|
2422e72713 | ||
|
|
e49e4a5e67 | ||
|
|
14d8d65de0 | ||
|
|
d3305cadb6 | ||
|
|
17c28ca584 | ||
|
|
151905c5f3 | ||
|
|
ab49ea07e8 | ||
|
|
8e436e6b55 | ||
|
|
de5414ec19 | ||
|
|
e5d71579af | ||
|
|
5ec4c9714c | ||
|
|
eafb2558c2 | ||
|
|
4cefcb26c2 | ||
|
|
8a86e7d0f7 | ||
|
|
b20fb61e1c | ||
|
|
feeed99c62 | ||
|
|
aa5008f865 | ||
|
|
c4ce2aa977 | ||
|
|
7cc31a473c | ||
|
|
a8193012aa | ||
|
|
eb0ecedecf | ||
|
|
de44abd529 | ||
|
|
9807ca99f9 | ||
|
|
8c9d2d6f1d | ||
|
|
65ef1f384c | ||
|
|
bf2cc36719 | ||
|
|
34ffe7eefa | ||
|
|
b756c8b9ec | ||
|
|
19a98c9ad6 | ||
|
|
e159025ebb | ||
|
|
05e81ad923 | ||
|
|
8e1a0eb20f | ||
|
|
a881b8fa5a | ||
|
|
6982030013 | ||
|
|
01da4c6af5 | ||
|
|
a42805d4cc | ||
|
|
01145c4581 | ||
|
|
4d1dfb58ff | ||
|
|
43f44a4142 | ||
|
|
b314d3cafe | ||
|
|
9bbf28e44b | ||
|
|
d995d25f69 | ||
|
|
1f58b8e6a7 | ||
|
|
eeb881cdc2 | ||
|
|
807874ce5d | ||
|
|
213d11c8e9 | ||
|
|
dfd0761506 | ||
|
|
4c30086896 | ||
|
|
1efdca399e | ||
|
|
4f27c8051a | ||
|
|
d43693fef0 | ||
|
|
88f0202b16 | ||
|
|
be98e0b543 | ||
|
|
8a907bb3f3 | ||
|
|
1b34a478a1 | ||
|
|
cda0bba555 | ||
|
|
dae1b10de1 | ||
|
|
0c4e72ece2 | ||
|
|
77dfd51b28 | ||
|
|
b601a549d0 | ||
|
|
c4907edd76 | ||
|
|
dcf4148d75 | ||
|
|
8afeef568f | ||
|
|
dd5635d9cd | ||
|
|
62a6ddf3ca | ||
|
|
195daa97f3 | ||
|
|
b1c5c87443 | ||
|
|
1ab88940f9 | ||
|
|
8ba97b8a74 | ||
|
|
e7f5442a64 | ||
|
|
066dd866b1 | ||
|
|
fa0722a9e2 | ||
|
|
5f276f6b22 | ||
|
|
c45b5751af | ||
|
|
161802cf9d | ||
|
|
0679832b04 | ||
|
|
b20d6f8820 | ||
|
|
52fb40d543 | ||
|
|
067279d2e8 | ||
|
|
a0bbed6c6c | ||
|
|
9371125eb0 | ||
|
|
0a0f6cdce9 | ||
|
|
fc350be3a1 | ||
|
|
be731a99c0 | ||
|
|
c65fd1d7ae | ||
|
|
be899159f3 | ||
|
|
2400e6578b | ||
|
|
1aac2b8e75 | ||
|
|
c7581220b8 | ||
|
|
f3968215e0 | ||
|
|
56a8011b78 | ||
|
|
adccae7937 | ||
|
|
1c63c1937a | ||
|
|
4753f7bb51 | ||
|
|
d7fec7d10a | ||
|
|
3c90a29b1e | ||
|
|
98de361bf4 | ||
|
|
c1df10e064 | ||
|
|
3743e0bc03 | ||
|
|
12e6a4d0ae | ||
|
|
969511953a | ||
|
|
223e2e04b0 | ||
|
|
0b0368ffcc | ||
|
|
9e4684b524 | ||
|
|
d825c7e4ea | ||
|
|
c38c996773 | ||
|
|
71a9ef00ee | ||
|
|
89a30ae5ee | ||
|
|
94bd0e057b | ||
|
|
0efc6338bb | ||
|
|
3b98da1d86 | ||
|
|
6927c68811 | ||
|
|
f0909ba3a0 | ||
|
|
2f7d2873f7 | ||
|
|
7a6b6aa335 | ||
|
|
2861ef0c73 | ||
|
|
059fc06f3a | ||
|
|
a971576de0 | ||
|
|
a4e059e3ec | ||
|
|
07408b7bc3 | ||
|
|
9722f7b71e | ||
|
|
45d8413d59 | ||
|
|
5c400457a9 | ||
|
|
3e9ee5890f | ||
|
|
1acdb40498 | ||
|
|
1dc0b00133 | ||
|
|
f2208389bd | ||
|
|
ab92c3e15b | ||
|
|
018e35295a | ||
|
|
2c9e90eee0 | ||
|
|
847f21f7dc | ||
|
|
b90dfbe3b0 | ||
|
|
c230794c82 | ||
|
|
7f83aa7253 | ||
|
|
1039815017 | ||
|
|
2c43eac80d | ||
|
|
4aa6ad3203 | ||
|
|
730b05ad1b | ||
|
|
5a7b2c5029 | ||
|
|
7ae551de9d | ||
|
|
96dd3faef0 | ||
|
|
ffdc8cd9ff | ||
|
|
8256ac3bee | ||
|
|
037ab83519 | ||
|
|
a56e77310d | ||
|
|
5350fb7f5d | ||
|
|
9161f89057 | ||
|
|
1d2abeb20b | ||
|
|
833c21192a | ||
|
|
86168e454f | ||
|
|
a20c2ce29a | ||
|
|
874b27c56d | ||
|
|
a7dc44e4e1 | ||
|
|
047d08882e | ||
|
|
52df1ad963 | ||
|
|
c2cec37928 | ||
|
|
239a186b36 | ||
|
|
5aeb2ebc05 | ||
|
|
a7e87aaae5 | ||
|
|
eb545eca57 | ||
|
|
44ab1827bf | ||
|
|
96b4f024b4 | ||
|
|
b070035770 | ||
|
|
1b0c3d8c00 | ||
|
|
2e71cb08d0 | ||
|
|
3da5d12bee | ||
|
|
e8019bbb92 | ||
|
|
30dab27202 | ||
|
|
cc7077d783 | ||
|
|
fda7e9f39d | ||
|
|
e178533493 | ||
|
|
e3ad9296bc | ||
|
|
01042a62ae | ||
|
|
7bd940ddb3 | ||
|
|
f168702aad | ||
|
|
2a33c0c375 | ||
|
|
eea240d7f2 | ||
|
|
afb98a374c | ||
|
|
ed0d28eaf6 | ||
|
|
50345101e5 | ||
|
|
c0e4010c88 | ||
|
|
193d7accb4 | ||
|
|
a9be34c627 | ||
|
|
0e14226968 | ||
|
|
068b03a0bb | ||
|
|
b99f9ae752 | ||
|
|
3519871f80 | ||
|
|
e9db853f28 | ||
|
|
a6fdd89e1d | ||
|
|
b8bfe7acc1 | ||
|
|
dd5d5589ff | ||
|
|
7d460e093c | ||
|
|
54e86915b0 | ||
|
|
ab2effd776 | ||
|
|
4f0da67a83 | ||
|
|
014ca36a4a | ||
|
|
2971e64182 | ||
|
|
d7737c13ff | ||
|
|
eebcc9c925 | ||
|
|
0c90b39a96 | ||
|
|
4f3f96337f | ||
|
|
e855ca72aa | ||
|
|
8ff47bf8e2 | ||
|
|
9d75f69a79 | ||
|
|
ae33977e10 | ||
|
|
07b5f35b98 | ||
|
|
c4acf006dd | ||
|
|
12b80307a7 | ||
|
|
43fd399d10 | ||
|
|
cc5d8940bf | ||
|
|
09ed1ab683 | ||
|
|
26c85fd18a | ||
|
|
894615bee6 | ||
|
|
aeed094be0 | ||
|
|
61068ee166 | ||
|
|
bdce25cb8c | ||
|
|
6a71bf5653 | ||
|
|
3007ddc093 | ||
|
|
4495e1649f | ||
|
|
f960cdea9b | ||
|
|
b70b2a65bc | ||
|
|
4a73e90da8 | ||
|
|
fc59bef156 | ||
|
|
512f4ca4e4 | ||
|
|
f254ca57c6 | ||
|
|
5e35dac1da | ||
|
|
44cbd408ce | ||
|
|
6fbe9de1a8 | ||
|
|
3b1410f913 | ||
|
|
f9265923a9 | ||
|
|
3282848631 | ||
|
|
f142363bfa | ||
|
|
c0e9800179 | ||
|
|
97308ca31c | ||
|
|
02992954c2 | ||
|
|
78d4f178a3 | ||
|
|
fe577d9dd0 | ||
|
|
007010067b | ||
|
|
bc2d8dab31 | ||
|
|
296f8645fb | ||
|
|
2d76c8ff0d | ||
|
|
0a3d9f9876 | ||
|
|
2a1d0b19ce | ||
|
|
a99c57ab1a | ||
|
|
6832049ccc | ||
|
|
6d72753216 | ||
|
|
b6b3898536 | ||
|
|
99922d38e2 | ||
|
|
161623a8d2 | ||
|
|
155a7a6582 | ||
|
|
6aafe9dee0 | ||
|
|
680c9d64cb | ||
|
|
ca395492d5 | ||
|
|
ea920d352f | ||
|
|
0c0031455b | ||
|
|
a8a9893ce4 | ||
|
|
5143743661 | ||
|
|
88a42b25cc | ||
|
|
b371bf6efa | ||
|
|
3bc7ed6f8c | ||
|
|
f996510969 | ||
|
|
58fd119636 | ||
|
|
f275792604 | ||
|
|
9f8ead5e4e | ||
|
|
a35ccbbe5b | ||
|
|
9a60a8838f | ||
|
|
bb9e02da6b | ||
|
|
0fd0c5ecc1 | ||
|
|
c89961ebf0 | ||
|
|
0f81e82206 | ||
|
|
7c7c8c4f34 | ||
|
|
3d7362aa9d | ||
|
|
f3061a2526 | ||
|
|
2657af1aef | ||
|
|
dd03ed4b30 | ||
|
|
64c6b05963 | ||
|
|
05017b0236 | ||
|
|
efd9cce4ef | ||
|
|
144c78fa4b | ||
|
|
3147aa539c | ||
|
|
ad4532932b | ||
|
|
ffac3462af | ||
|
|
7c163592b5 | ||
|
|
a6211e371e | ||
|
|
775085eca1 | ||
|
|
b3d580cada | ||
|
|
37987ddb57 | ||
|
|
a56ab4f561 | ||
|
|
6f649bd680 | ||
|
|
6316577ec7 | ||
|
|
61cd74fcd0 | ||
|
|
37fd0ebbd2 | ||
|
|
8e987a6718 | ||
|
|
520be9dbe8 | ||
|
|
322e6f7edf | ||
|
|
b6eea6fe2e | ||
|
|
dc84c50ea8 | ||
|
|
07d7df7271 | ||
|
|
5b9f3c70dc | ||
|
|
bd36590084 | ||
|
|
4e64ff4ff9 | ||
|
|
2dd882a7a5 | ||
|
|
fe4c102c7d | ||
|
|
1380bc9940 | ||
|
|
5cc549ad3a | ||
|
|
75395f6622 | ||
|
|
c9576e260e | ||
|
|
362d692879 | ||
|
|
acbaa69305 | ||
|
|
592a48c725 | ||
|
|
bfaaf7d893 | ||
|
|
9e73dc9c00 | ||
|
|
d37aac0c71 | ||
|
|
8314d4c9ae | ||
|
|
d860954c32 | ||
|
|
0b4b085095 | ||
|
|
c0334d0c94 | ||
|
|
6acd897e16 | ||
|
|
2adfc55339 | ||
|
|
208b4f68b5 | ||
|
|
33fd704a00 | ||
|
|
6d8ece6822 | ||
|
|
6b5cbd5f11 | ||
|
|
ea6017511b | ||
|
|
2477b8a3ea | ||
|
|
cdd1075384 | ||
|
|
c61c17f19c | ||
|
|
774b79f07e | ||
|
|
002172281b | ||
|
|
4e9d4bfaf6 | ||
|
|
894e9f244f | ||
|
|
189b45ab9b | ||
|
|
b0912de788 | ||
|
|
f435946f66 | ||
|
|
64d91ccaab | ||
|
|
e97fbb2784 | ||
|
|
0029e0ed43 | ||
|
|
088f235f29 | ||
|
|
dd5aa90498 | ||
|
|
c866e5dd45 | ||
|
|
6e8f74af15 | ||
|
|
d70fd8c208 | ||
|
|
9551c9bed4 | ||
|
|
06740564f8 | ||
|
|
ef94c31d42 | ||
|
|
093b370903 | ||
|
|
542845667a | ||
|
|
8ce08bc4f4 | ||
|
|
69158d55c1 | ||
|
|
d9a794e186 | ||
|
|
6cc146c0a5 | ||
|
|
b490328a45 | ||
|
|
30df5226df | ||
|
|
c8369ce316 | ||
|
|
ffb7e5d573 | ||
|
|
3d41531a84 | ||
|
|
f0fa6986d7 | ||
|
|
d908606527 | ||
|
|
886a26aa20 | ||
|
|
bc77ff45cd | ||
|
|
c1fb884dcd | ||
|
|
26992828f0 | ||
|
|
07670c6bc5 | ||
|
|
b2bc6b7740 | ||
|
|
c617ede243 | ||
|
|
0d7600d62c | ||
|
|
7a0ef10f9f | ||
|
|
2fc52c9abd | ||
|
|
9a56817bf8 | ||
|
|
e81346f881 | ||
|
|
01fd8fa406 | ||
|
|
f09e0db311 | ||
|
|
5dc72e88fe | ||
|
|
169e2b8477 | ||
|
|
9fe5ec6068 | ||
|
|
d4e0ca3f03 | ||
|
|
7690a27e60 | ||
|
|
748d9ef65d | ||
|
|
d88db28da8 | ||
|
|
e95b9f57fa | ||
|
|
6c14aa49ea | ||
|
|
1859fc87ae | ||
|
|
6c9d2e5db7 | ||
|
|
d6d147187d | ||
|
|
ab75c1d5e2 | ||
|
|
992178eb9a | ||
|
|
f61ce2884a | ||
|
|
21db8852d6 | ||
|
|
2900c1f914 | ||
|
|
8dd7bd8912 | ||
|
|
c6f1784d9d | ||
|
|
684cb086cc | ||
|
|
d2d8b06d97 | ||
|
|
4d346e0ca7 | ||
|
|
a6cbd10f3b | ||
|
|
416a49d87f | ||
|
|
f438548e5c | ||
|
|
cc75fc42db | ||
|
|
66e01b12f8 | ||
|
|
b3045726fb | ||
|
|
9b2b541e4d | ||
|
|
2d763d106d | ||
|
|
37d2feeaa5 | ||
|
|
66a33cd56e | ||
|
|
ae07844a71 | ||
|
|
e00484775e | ||
|
|
ed871db1f3 | ||
|
|
3c4f3146c4 | ||
|
|
5cde230723 | ||
|
|
6d4a068453 | ||
|
|
248e8e6beb | ||
|
|
4db11ba324 | ||
|
|
a97f862641 | ||
|
|
69db7f7384 | ||
|
|
a72fb6f01a | ||
|
|
53766b99c9 | ||
|
|
1b54cf56e0 | ||
|
|
05a553ffdc | ||
|
|
d6ea80843f | ||
|
|
8c2ce43053 | ||
|
|
34b33798a7 | ||
|
|
adbef081d0 | ||
|
|
5eb3a86467 | ||
|
|
bef2b34faa | ||
|
|
7516b44804 | ||
|
|
8b70f5a114 | ||
|
|
c4581a8889 | ||
|
|
fdde5b7fe9 | ||
|
|
d1bc246a35 | ||
|
|
262779b515 | ||
|
|
78e4407c71 | ||
|
|
d247c53136 | ||
|
|
bca9381903 | ||
|
|
a8cbdafe6e | ||
|
|
e595f141c1 | ||
|
|
4aa43de54d | ||
|
|
2e92838364 | ||
|
|
283cb64a01 | ||
|
|
517fd2d4f4 | ||
|
|
3467c976a9 | ||
|
|
f3166406ec | ||
|
|
b5b930dddb | ||
|
|
11c10f526a | ||
|
|
cf362f1a6a | ||
|
|
3b2ea8ea98 | ||
|
|
f82bc39473 | ||
|
|
b5976035e3 | ||
|
|
14f65c55b5 | ||
|
|
ee91e0698d | ||
|
|
aa23537354 | ||
|
|
242c7b623f | ||
|
|
c0c52e57df | ||
|
|
dff938e802 | ||
|
|
847e9dffc2 | ||
|
|
10d81bd47a | ||
|
|
3aa64697d2 | ||
|
|
fecaf64eec | ||
|
|
20cb8e4ead | ||
|
|
cb6e5a5e54 | ||
|
|
366de00950 | ||
|
|
f80b7a32c1 | ||
|
|
67f3d956f4 | ||
|
|
607301b35d | ||
|
|
9f5c3e9942 | ||
|
|
d34ecff3aa | ||
|
|
0ff7e54ff4 | ||
|
|
c4e508a090 | ||
|
|
58f15184b8 | ||
|
|
61d22eb498 | ||
|
|
34d10bba3c | ||
|
|
5ba8cc3439 | ||
|
|
4da7f77089 | ||
|
|
c544206437 | ||
|
|
7a65a7da1e | ||
|
|
014a153e49 | ||
|
|
066c40d9c1 | ||
|
|
5f7f4a23aa | ||
|
|
e39dee6e1d | ||
|
|
cf71f84e49 | ||
|
|
8265253388 | ||
|
|
b1293b70cf | ||
|
|
7b8b197a35 | ||
|
|
867e1b8731 | ||
|
|
5cdcf47994 | ||
|
|
a500920bb2 | ||
|
|
a748e0337d | ||
|
|
2f4c00c602 | ||
|
|
78d3828f1e | ||
|
|
4505f51fbd | ||
|
|
2ca7b2310b | ||
|
|
861366dd71 | ||
|
|
4cada08cbe | ||
|
|
1d80d97d22 | ||
|
|
935849142c | ||
|
|
4e048f775d | ||
|
|
f45adb5b9e | ||
|
|
d4cc7ca232 | ||
|
|
51d06d8234 | ||
|
|
16f7ae54b8 | ||
|
|
e15734d17e | ||
|
|
2cb773dd48 | ||
|
|
09672ce89b | ||
|
|
c476262288 | ||
|
|
84c73bb11f | ||
|
|
f8b5519ced | ||
|
|
01b7f36750 | ||
|
|
759c5222ac | ||
|
|
9847edbce1 | ||
|
|
19789b6d90 | ||
|
|
7b2ba7f3b1 | ||
|
|
9a5ed11c83 | ||
|
|
3fc8b6fc5c | ||
|
|
c018e3dcc2 | ||
|
|
2b8f1b350c | ||
|
|
806c82c30c | ||
|
|
76f1591b58 | ||
|
|
2a5fc931b6 | ||
|
|
a392e631d0 | ||
|
|
f3da8f7353 | ||
|
|
fda4d43678 | ||
|
|
a09868c397 | ||
|
|
fdddee415f | ||
|
|
d239048817 | ||
|
|
88e146f4ba | ||
|
|
a709a7fec0 | ||
|
|
8d5d7bdf8d | ||
|
|
ffe3317228 | ||
|
|
71adcb338d | ||
|
|
62b46f6ef5 | ||
|
|
65149ece6c | ||
|
|
b0318f6939 | ||
|
|
b98fe6bda5 | ||
|
|
6e6274a2dd | ||
|
|
52988f154b | ||
|
|
b590ea8caa | ||
|
|
3c7570aab9 | ||
|
|
3b8c92f5c2 | ||
|
|
164cf79613 | ||
|
|
a216a6989b | ||
|
|
050bf5f73c | ||
|
|
8ff94669f2 | ||
|
|
775f9eb6b3 | ||
|
|
aeff6b60e9 | ||
|
|
94989a1109 | ||
|
|
e1c6c4e6b6 | ||
|
|
48bd49cf2f | ||
|
|
385a48bb43 | ||
|
|
ad2b9a3640 | ||
|
|
df249895e6 | ||
|
|
c7005ef933 | ||
|
|
2489be93a3 | ||
|
|
fa916c4fab | ||
|
|
a8fcb909fe | ||
|
|
1262c5e8ff | ||
|
|
6edc3bcd02 | ||
|
|
4e9e709816 | ||
|
|
d24bc0cf94 | ||
|
|
a4bb0f40cc | ||
|
|
37d7693e3c | ||
|
|
9fd1c4bb0a | ||
|
|
9561cea8f9 | ||
|
|
cfdfe6e567 | ||
|
|
c3736f8dd8 | ||
|
|
6232c2e894 | ||
|
|
a2cce876db | ||
|
|
d3791e1316 | ||
|
|
9cbbdc422f | ||
|
|
f76c28fa64 | ||
|
|
cabc3e2441 | ||
|
|
f208e755c2 | ||
|
|
9841ce32ae | ||
|
|
4f6456635e | ||
|
|
6dc69ded22 | ||
|
|
6ce67a95a2 | ||
|
|
6cc943d15d | ||
|
|
b23314b408 | ||
|
|
9c32e4d66a | ||
|
|
1b9ddabcab | ||
|
|
6259333a70 | ||
|
|
bedb28c073 | ||
|
|
65d93267a9 | ||
|
|
6ee041b374 | ||
|
|
c46a6d3440 | ||
|
|
92fc016f20 | ||
|
|
8983ee5239 | ||
|
|
45291b4f05 | ||
|
|
6cfbdf2f30 | ||
|
|
44613dc416 | ||
|
|
1f95ff0fe7 | ||
|
|
a939021304 | ||
|
|
fc88d9b248 | ||
|
|
46e268e4e3 | ||
|
|
f9f8ccc088 | ||
|
|
78c8e64e81 | ||
|
|
ba54bd43aa | ||
|
|
f61542ea6b | ||
|
|
21b162b192 | ||
|
|
91e7af4867 | ||
|
|
89968bf449 | ||
|
|
7f2f68ec58 | ||
|
|
a5ebfd56e1 | ||
|
|
19cb8e3301 | ||
|
|
a2014be118 | ||
|
|
3cde9a654b | ||
|
|
2f277171d1 | ||
|
|
43dba06074 | ||
|
|
c0737c40a7 | ||
|
|
beb2eb99fb | ||
|
|
62a52745df | ||
|
|
25e156297b | ||
|
|
fd2aa5d046 | ||
|
|
547a9fcc17 | ||
|
|
90ea36d0fe | ||
|
|
c3467f7204 | ||
|
|
e6aafbc8a6 | ||
|
|
76bb777f4d | ||
|
|
39f6867ab0 | ||
|
|
fbaef2f103 | ||
|
|
db19fa507e | ||
|
|
27fd1942d0 | ||
|
|
975df3625d | ||
|
|
92a37e1e44 | ||
|
|
cd33754a3c | ||
|
|
69d92bc0ea | ||
|
|
6d09c12f93 | ||
|
|
ba0f4dbcf5 | ||
|
|
e1bf3b4b82 | ||
|
|
d647309587 | ||
|
|
140ee7b183 | ||
|
|
745eaf8a17 | ||
|
|
b16e70c363 | ||
|
|
6ee00c138c | ||
|
|
0a4da47492 | ||
|
|
9439b347c9 | ||
|
|
e24eb30c98 | ||
|
|
f53573261e | ||
|
|
d5b8337121 | ||
|
|
b816facf44 | ||
|
|
a6a5cf8755 | ||
|
|
83f7ed56fa | ||
|
|
e88edd11af | ||
|
|
0b1be02c38 | ||
|
|
b98b8b6f2e | ||
|
|
154358efd4 | ||
|
|
63c710047b | ||
|
|
d0f4eeff1f | ||
|
|
4d3277f41b | ||
|
|
7c9d52abbf | ||
|
|
cf6eccf565 | ||
|
|
1499baf8d9 | ||
|
|
37a0e95675 | ||
|
|
fd62705fd7 | ||
|
|
dc5fc2b544 | ||
|
|
70165a8c62 | ||
|
|
68f888baf0 | ||
|
|
3a8bc599ee | ||
|
|
9d79021678 | ||
|
|
7d339ccc23 | ||
|
|
3dd839c8bf | ||
|
|
7db5b6fbda | ||
|
|
1b7d199744 | ||
|
|
6bac099369 | ||
|
|
d5cc1b970f | ||
|
|
06f8fb0406 | ||
|
|
7b6de7bbd8 | ||
|
|
503159ff6f | ||
|
|
c22c674de1 | ||
|
|
de3ce6f676 | ||
|
|
cd34c4ebdf | ||
|
|
ba0cab3743 | ||
|
|
a73030ac9b | ||
|
|
f57bba22cc | ||
|
|
e315cad0f5 | ||
|
|
3f40a6db4b | ||
|
|
eb99680986 | ||
|
|
2aa4f2da2d | ||
|
|
a48568526b | ||
|
|
7247abd5f1 | ||
|
|
bae2502d8f | ||
|
|
cd645b33b2 | ||
|
|
07ad69c08f | ||
|
|
6bc7de3370 | ||
|
|
f3ca247865 | ||
|
|
0167cf052d | ||
|
|
9a3b3013a3 | ||
|
|
0f9bbc1561 | ||
|
|
3ef6b3a76a | ||
|
|
3c7ccddfcc | ||
|
|
42019917ce | ||
|
|
68b632857d | ||
|
|
eaf7b72dc7 | ||
|
|
ff9cc83ef0 | ||
|
|
4e3dffad98 | ||
|
|
7662d974b9 | ||
|
|
a78bdc4912 | ||
|
|
6b84de3ccd | ||
|
|
fda537635e | ||
|
|
c633ceb695 | ||
|
|
a4c536740e | ||
|
|
923ebbc3c8 | ||
|
|
9d79a85b96 | ||
|
|
7b972142ba | ||
|
|
b38275123a | ||
|
|
a2249a7392 | ||
|
|
c0a6fd2288 | ||
|
|
149af25d22 | ||
|
|
b33ae0c92f | ||
|
|
1f54c7933b | ||
|
|
26346f5a42 | ||
|
|
dbf78e2bae | ||
|
|
9c9da27938 | ||
|
|
41e97134ef | ||
|
|
97186361a1 | ||
|
|
2db6635d73 | ||
|
|
9ac1540cdc | ||
|
|
70c0957248 | ||
|
|
c045811350 | ||
|
|
70bc60104f | ||
|
|
0f74558892 | ||
|
|
4e3543ace7 | ||
|
|
1924ab09da | ||
|
|
a74e543429 | ||
|
|
00f67a57cf | ||
|
|
2244e62897 | ||
|
|
1569353779 | ||
|
|
40bb9e2c37 | ||
|
|
c87e2b99d7 | ||
|
|
4934699ecd | ||
|
|
c85f3aa7f7 | ||
|
|
7ea2086ec9 | ||
|
|
480e0ce9fa | ||
|
|
fe14fd0a58 | ||
|
|
e02e835053 | ||
|
|
26d88e15c6 | ||
|
|
5a9c13da86 | ||
|
|
3ee341cc4e | ||
|
|
b9f6a5ab0e | ||
|
|
ea03350ab9 | ||
|
|
06fdf3f0a5 | ||
|
|
76e7827ebf | ||
|
|
6c6f1f23ee | ||
|
|
8c47b666c5 | ||
|
|
bad1fc9e09 | ||
|
|
e4817038c3 | ||
|
|
d8e28dad7f | ||
|
|
2c7921479a | ||
|
|
22a0f945b6 | ||
|
|
1faf2e0694 | ||
|
|
0376d094cc | ||
|
|
873db7ef27 | ||
|
|
ecd4de48eb | ||
|
|
fb132173bd | ||
|
|
7ae8434ba3 | ||
|
|
edf33d85b0 | ||
|
|
2ae0a651b8 | ||
|
|
a4c7da6e20 | ||
|
|
fbfc712d4c | ||
|
|
5196424fbe | ||
|
|
cd83cfdc87 | ||
|
|
52de1e7b02 | ||
|
|
acfdab7dbb | ||
|
|
c7731a1bb2 | ||
|
|
f3c31697c8 | ||
|
|
7b6d14779f | ||
|
|
233cc24c9a | ||
|
|
87515de57f | ||
|
|
719a8b3420 | ||
|
|
6726166d2b | ||
|
|
ecc5720007 | ||
|
|
1400f33f64 | ||
|
|
edb1374c32 | ||
|
|
f1c21dc9a2 | ||
|
|
680ad99c9f | ||
|
|
375589c73d | ||
|
|
ce8e117b0b | ||
|
|
4e12de1629 | ||
|
|
bd76d40518 | ||
|
|
723516f56c | ||
|
|
771755c96b | ||
|
|
0026153a2c | ||
|
|
f7e0deafca | ||
|
|
be53c68d28 | ||
|
|
62fa9acc9f | ||
|
|
0493c4063f | ||
|
|
956d0a736d | ||
|
|
52dfe654b5 | ||
|
|
5437bbaf2e | ||
|
|
f4c17aaf45 | ||
|
|
20e365ea9c | ||
|
|
b407701d94 | ||
|
|
ed6755496f | ||
|
|
4530115506 | ||
|
|
aabb905313 | ||
|
|
aaf2d271bc | ||
|
|
1369a08863 | ||
|
|
ac9dfd570a | ||
|
|
5cd5f4b38e | ||
|
|
57c7796424 | ||
|
|
dd6c1c3d01 | ||
|
|
712fc26d56 | ||
|
|
fd89d51f84 | ||
|
|
9e50187740 | ||
|
|
a36b47e500 | ||
|
|
a454c3e564 | ||
|
|
26b30cb20d | ||
|
|
7639e18c39 | ||
|
|
80d0ee4dc3 | ||
|
|
8a6b4a49f5 | ||
|
|
00adb20dc7 | ||
|
|
22d4cbbd1e | ||
|
|
1d81c12150 | ||
|
|
0fed1ba1ab | ||
|
|
c472a0215d | ||
|
|
506adf63c9 | ||
|
|
d4715ddc81 | ||
|
|
d7fd36ddeb | ||
|
|
e45290e834 | ||
|
|
e0cf5aa602 | ||
|
|
555cf9016f | ||
|
|
d6ab2e15bf | ||
|
|
95cec88742 | ||
|
|
18430dca25 | ||
|
|
8a374f53bc | ||
|
|
7a34543004 | ||
|
|
9568fe7d4d | ||
|
|
f5d00ddbef | ||
|
|
cccc21c035 | ||
|
|
090f365cee | ||
|
|
cd1b629191 | ||
|
|
406f68ac5b | ||
|
|
c6e76d78a2 | ||
|
|
0d480a67d8 | ||
|
|
4f9f84fc6a | ||
|
|
0f725a02db | ||
|
|
71fdbb6564 | ||
|
|
a22991758f | ||
|
|
3404eb708d | ||
|
|
c9439efcf8 | ||
|
|
6f4cf9e941 | ||
|
|
c99216c053 | ||
|
|
e592c331f9 | ||
|
|
efdc4071da | ||
|
|
e35c9f6087 | ||
|
|
71390046f5 | ||
|
|
1c8852a7a2 | ||
|
|
536a0e429a | ||
|
|
4f54e30e0e | ||
|
|
525453d677 | ||
|
|
6fb4dbdc7b | ||
|
|
60ba4e3eeb | ||
|
|
58b032627e | ||
|
|
7ffab1a821 | ||
|
|
7303c7c253 | ||
|
|
4557748c29 | ||
|
|
d3cb13cfd8 | ||
|
|
1bd3b7743b | ||
|
|
591f7205ed | ||
|
|
3a9b4f3491 | ||
|
|
896b12c16b | ||
|
|
ba7355a831 | ||
|
|
c580d89c94 | ||
|
|
8793feb9ba | ||
|
|
40db1180df | ||
|
|
d2f3e2cd60 | ||
|
|
56fc735b36 | ||
|
|
bd5449a9a2 | ||
|
|
4853c8d314 | ||
|
|
cdf94b281f | ||
|
|
8eeaa40cec | ||
|
|
cf0f9d43fa | ||
|
|
0594822872 | ||
|
|
46d1e2e703 | ||
|
|
dd14ee7156 | ||
|
|
bab0d40c87 | ||
|
|
378a54fb62 | ||
|
|
2d5d367ee6 | ||
|
|
638c721d32 | ||
|
|
f464623d17 | ||
|
|
fe86514fb8 | ||
|
|
704f7f4494 | ||
|
|
3b0cd389e5 | ||
|
|
21eea225af | ||
|
|
743c2a6a5e | ||
|
|
abcb511a57 | ||
|
|
3669bab210 | ||
|
|
88b9f83d79 | ||
|
|
2178018b18 | ||
|
|
ae4d245232 | ||
|
|
509b21153f | ||
|
|
7810c65862 | ||
|
|
9f8d2b2d46 | ||
|
|
3bcb2985f9 | ||
|
|
0d8b2f4a01 | ||
|
|
b060c4205c | ||
|
|
f90775153c | ||
|
|
17a2d9b4d8 | ||
|
|
14a68d6ed4 | ||
|
|
c7535e38dc | ||
|
|
8c4fabb89a | ||
|
|
1ad1bf7942 | ||
|
|
4e115a2326 | ||
|
|
6900e60df0 | ||
|
|
61881ad656 | ||
|
|
d1e64a410b | ||
|
|
5e5de03055 | ||
|
|
f4bdfa43ca | ||
|
|
5ede956e7f | ||
|
|
1cd27210ac | ||
|
|
2819ec01af | ||
|
|
ca113497b2 | ||
|
|
15725c0302 | ||
|
|
851bd88de6 | ||
|
|
a207936231 | ||
|
|
9cb40e41fa | ||
|
|
0f0bdd7d13 | ||
|
|
297206b054 | ||
|
|
626f0677f7 | ||
|
|
7b5b25d113 | ||
|
|
3635137906 | ||
|
|
7ea02a316e | ||
|
|
9a66b0c6e4 | ||
|
|
8fe5000ce1 | ||
|
|
82fac5f80e | ||
|
|
94620504da | ||
|
|
59cab65fcf | ||
|
|
c7b9e6f9b8 | ||
|
|
4c86cae7fe | ||
|
|
6376596e49 | ||
|
|
91053965be | ||
|
|
4f9ee17ff9 | ||
|
|
2461b39fb7 | ||
|
|
ff7634a8ac | ||
|
|
6c41ae8e8e | ||
|
|
52803cf57c | ||
|
|
03f5ba430c | ||
|
|
91e317a497 | ||
|
|
a0b4d0f348 | ||
|
|
674f4d5062 | ||
|
|
5cc2f5b645 | ||
|
|
3ca8aefad7 | ||
|
|
1d1b663f55 | ||
|
|
6a64b09452 | ||
|
|
c2c9e180ea | ||
|
|
fb89183767 | ||
|
|
45b570b6f7 | ||
|
|
8e8e5d8da8 | ||
|
|
f59a7872b3 | ||
|
|
022c6fccf5 | ||
|
|
b750cf1f33 | ||
|
|
5495d772ea | ||
|
|
664589c642 | ||
|
|
6e9c965279 | ||
|
|
87e9ed8191 | ||
|
|
a5a0aa859a | ||
|
|
78693685d8 | ||
|
|
f39d4a688a | ||
|
|
0c30a4ba53 | ||
|
|
7db8b89b89 | ||
|
|
ec4a9ead74 | ||
|
|
d31f112967 | ||
|
|
4098c306e2 | ||
|
|
ddee2c08e2 | ||
|
|
e1c02c8bf5 | ||
|
|
956d21d431 | ||
|
|
8b3f474bca | ||
|
|
8eddcfb639 | ||
|
|
9b79602134 | ||
|
|
0bab560e89 | ||
|
|
6458b46437 | ||
|
|
021343ca02 | ||
|
|
86a5890c36 | ||
|
|
04e53f2002 | ||
|
|
5dccd4b05f | ||
|
|
9e77899535 | ||
|
|
4185923d04 | ||
|
|
a19ccb6b49 | ||
|
|
5ae9d42480 | ||
|
|
f282a3346c | ||
|
|
ac8881a097 | ||
|
|
41daa83e3e | ||
|
|
2869460a7f | ||
|
|
0f168922d8 | ||
|
|
b8b5362ba5 | ||
|
|
b4e0f2c991 | ||
|
|
201b6d9cfa | ||
|
|
a6ec3e0a68 | ||
|
|
64578787a0 | ||
|
|
d068388e7f | ||
|
|
606d18aa6e | ||
|
|
106bcec7cf | ||
|
|
179e973b4e | ||
|
|
2223cd4f30 | ||
|
|
7db5345f9a | ||
|
|
df659f648e | ||
|
|
d7fd079ec4 | ||
|
|
800172f93e | ||
|
|
2fbfdbcb03 | ||
|
|
ae59e75be1 | ||
|
|
f01268ef76 | ||
|
|
4b9f94c9ae | ||
|
|
33868eef88 | ||
|
|
11bd885fb4 | ||
|
|
0e73168803 | ||
|
|
1eeb42a88d | ||
|
|
9ad852558c | ||
|
|
227a262e01 | ||
|
|
0abd368ccc | ||
|
|
f757dcab74 | ||
|
|
28f758e421 | ||
|
|
6fba81d7c8 | ||
|
|
8543977a2f | ||
|
|
7b3da0e2c2 | ||
|
|
b16b37e757 | ||
|
|
726b087d0d | ||
|
|
c3fb08da59 | ||
|
|
725a285e7f | ||
|
|
9bf329bd17 | ||
|
|
0517a73bfe | ||
|
|
a432f5cc3a | ||
|
|
72b119d622 | ||
|
|
18f09ab2ef | ||
|
|
5985c518f6 | ||
|
|
0dc4dbe642 | ||
|
|
0e90426cff | ||
|
|
900d045cf0 | ||
|
|
e9c4d70126 | ||
|
|
5c93d3e7c4 | ||
|
|
c372ffa111 | ||
|
|
8e15ad7ed0 | ||
|
|
a6f3fb19c8 | ||
|
|
64c6d19ae7 | ||
|
|
c9d9d3d4d3 | ||
|
|
e25b78953c | ||
|
|
81f0c916f5 | ||
|
|
ef690f6438 | ||
|
|
11124205e5 | ||
|
|
6cd0474eca | ||
|
|
bd89710478 | ||
|
|
fc54822b97 | ||
|
|
13bb6dbe93 | ||
|
|
8c9a98e3e9 | ||
|
|
7ce05fb4fc | ||
|
|
53153b237c | ||
|
|
478dea6af4 | ||
|
|
e097d38347 | ||
|
|
6cba14181d | ||
|
|
76c48a8c4e | ||
|
|
425b51de08 | ||
|
|
8e057379ce | ||
|
|
db649ddc96 | ||
|
|
6aab17d0b3 | ||
|
|
fdfb8e0c34 | ||
|
|
72aaa18a35 | ||
|
|
07e1c139ba | ||
|
|
7df76697e1 | ||
|
|
743b260813 | ||
|
|
24187b8413 | ||
|
|
acfd0bf104 | ||
|
|
59792b3456 | ||
|
|
fb9b0b8166 | ||
|
|
11d68c0e27 | ||
|
|
8b287cca0c | ||
|
|
38145957af | ||
|
|
69bdac52c7 | ||
|
|
10d7690ca6 | ||
|
|
b33a999458 | ||
|
|
d3a7ff7e11 | ||
|
|
c1e9fad271 | ||
|
|
9d668342be | ||
|
|
62dd54c886 | ||
|
|
93ed2b3bff | ||
|
|
acb0aa0532 | ||
|
|
ef707e6d5d | ||
|
|
56413c372f | ||
|
|
a57e919e44 | ||
|
|
5bdb80db35 | ||
|
|
3f63997694 | ||
|
|
022a15a5e9 | ||
|
|
a6c331042a | ||
|
|
17f5d8f0c2 | ||
|
|
45b880ef76 | ||
|
|
da34530d98 | ||
|
|
bcb75dac65 | ||
|
|
74bba5263a | ||
|
|
7878252692 | ||
|
|
7af6b31cca | ||
|
|
11a9766ba0 | ||
|
|
5175f439a0 | ||
|
|
cbb603818a | ||
|
|
7020121274 | ||
|
|
54f7030d68 | ||
|
|
b9e23fcf95 | ||
|
|
42d0480f77 | ||
|
|
886eaa4002 | ||
|
|
fd02e9ab22 | ||
|
|
9fb460c176 | ||
|
|
cbb753ae75 | ||
|
|
b2b54b7c5b | ||
|
|
29ac95362d | ||
|
|
9d2d6addb1 | ||
|
|
7c3f15f79b | ||
|
|
c8e4ec14f0 | ||
|
|
e1793fe276 | ||
|
|
a7bb43278f | ||
|
|
58b5e99979 | ||
|
|
915befbb3a | ||
|
|
4cf3f1bcd5 | ||
|
|
bfeeaeabfb | ||
|
|
410f2d4e69 | ||
|
|
474ad5c0fe | ||
|
|
c2b359ceed | ||
|
|
5af7de61d0 | ||
|
|
7436bf9e64 | ||
|
|
588f7fe2fb | ||
|
|
e28dd11b63 | ||
|
|
907274f9bd |
46
.travis.yml
@@ -1,4 +1,5 @@
|
|||||||
language: cpp
|
language: cpp
|
||||||
|
dist: trusty
|
||||||
branches:
|
branches:
|
||||||
except:
|
except:
|
||||||
- latest-master
|
- latest-master
|
||||||
@@ -7,28 +8,35 @@ before_install:
|
|||||||
- export BUILD_PSP=YES
|
- export BUILD_PSP=YES
|
||||||
- export BUILD_ANDROID=YES
|
- export BUILD_ANDROID=YES
|
||||||
- export BUILD_Qt=YES
|
- export BUILD_Qt=YES
|
||||||
- export BUILD_MAC=YES
|
- export BUILD_MAC=NO
|
||||||
|
# Only building on Mac when not handling pull request
|
||||||
|
# - if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
|
||||||
|
# export BUILD_MAC=YES;
|
||||||
|
# fi
|
||||||
- sudo apt-get update -qq
|
- sudo apt-get update -qq
|
||||||
# Building for PSP here
|
# Building for PSP here
|
||||||
- if [ "$BUILD_PSP" == "YES" ]; then
|
- if [ "$BUILD_PSP" == "YES" ]; then
|
||||||
export PSPDEV="$TRAVIS_BUILD_DIR/opt/pspsdk" &&
|
export PSPDEV="$TRAVIS_BUILD_DIR/opt/pspsdk" &&
|
||||||
export PSPSDK="$PSPDEV/psp/sdk" &&
|
export PSPSDK="$PSPDEV/psp/sdk" &&
|
||||||
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin" &&
|
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin" &&
|
||||||
wget -O sdk.lzma http://sourceforge.net/projects/minpspw/files/SDK%20%2B%20devpak/pspsdk%200.11.2/minpspw_0.11.2-amd64.tar.lzma/download;
|
wget -O sdk.lzma http://downloads.sourceforge.net/project/minpspw/SDK%20%2B%20devpak/pspsdk%200.11.2/minpspw_0.11.2-amd64.tar.lzma;
|
||||||
|
fi
|
||||||
|
# Building for Qt here
|
||||||
|
- if [ "$BUILD_Qt" == "YES" ]; then
|
||||||
|
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu trusty universe" &&
|
||||||
|
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu trusty main" &&
|
||||||
|
sudo apt-get -qq update &&
|
||||||
|
sudo apt-get -qq install qt5-qmake qtbase5-dev qtdeclarative5-dev qttools5-dev qtmultimedia5-dev pulseaudio libpulse-dev &&
|
||||||
|
export QMAKE="qmake -qt=qt5";
|
||||||
fi
|
fi
|
||||||
# Building for Android here
|
# Building for Android here
|
||||||
- if [ "$BUILD_ANDROID" == "YES" ]; then
|
- if [ "$BUILD_ANDROID" == "YES" ]; then
|
||||||
export ANDROID="android-sdk-linux/tools/android" &&
|
export ANDROID="android-sdk-linux/tools/android" &&
|
||||||
if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch jq; fi &&
|
if [ `uname -m` = x86_64 ]; then
|
||||||
wget http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 -nv &&
|
sudo dpkg --add-architecture i386 && sudo apt-get update &&
|
||||||
wget http://dl.google.com/android/android-sdk_r24.3.3-linux.tgz -nv;
|
sudo apt-get install -qq --force-yes libgd2-xpm-dev libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1 jq ant; fi &&
|
||||||
fi
|
wget https://dl.google.com/android/repository/android-ndk-r22-linux-x86_64.zip -nv &&
|
||||||
# Building for Qt here
|
wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz -nv;
|
||||||
- if [ "$BUILD_Qt" == "YES" ]; then
|
|
||||||
sudo add-apt-repository --yes ppa:ubuntu-sdk-team/ppa &&
|
|
||||||
sudo apt-get update -qq &&
|
|
||||||
sudo apt-get install -qq qt5-qmake qtbase5-dev qtdeclarative5-dev qttools5-dev qtmultimedia5-dev pulseaudio libpulse-dev &&
|
|
||||||
export QMAKE="qmake -qt=qt5";
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
install:
|
install:
|
||||||
@@ -36,21 +44,16 @@ install:
|
|||||||
tar -x --xz -f sdk.lzma;
|
tar -x --xz -f sdk.lzma;
|
||||||
fi
|
fi
|
||||||
- if [ "$BUILD_ANDROID" == "YES" ]; then
|
- if [ "$BUILD_ANDROID" == "YES" ]; then
|
||||||
tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2 &&
|
unzip android-ndk-r22-linux-x86_64.zip &&
|
||||||
tar -zxf android-sdk_r24.3.3-linux.tgz &&
|
tar -zxf android-sdk_r24.4.1-linux.tgz &&
|
||||||
$ANDROID list sdk --extended -a &&
|
$ANDROID list sdk --extended -a &&
|
||||||
echo yes | $ANDROID update sdk -a -t tools,platform-tools,build-tools-22.0.1,android-10 --no-ui --force --no-https;
|
echo yes | $ANDROID update sdk -a -t tools,platform-tools,build-tools-23.0.1,android-23 --no-ui --force --no-https;
|
||||||
fi
|
fi
|
||||||
|
- sudo python -m easy_install --upgrade pyOpenSSL
|
||||||
- sudo pip install pyjavaproperties
|
- sudo pip install pyjavaproperties
|
||||||
- sudo pip install github3.py
|
- sudo pip install github3.py
|
||||||
- sudo pip install cpp-coveralls
|
- sudo pip install cpp-coveralls
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- secure: "EBzr1+qjQsOhn0s+tcFmXR1jP9B0xiOSXuXbRXWZ1OEHNvp8+A5/pS84LYVFlaZqmxr5dApxvPtwhgLIUbQ3EPXm8LpC3KgSD4dS+9/QMbxhe5TK4oczgFRGcDTMJQZsCzhOh7hp3tbcbJg5Gp+VT7aFjFQSHDGwhzSJXsXwh/8="
|
|
||||||
- secure: "X5dTQfofqAutnXxmu11Ep2MQ5QYnMN8m0AITRtwymhEF2UclcOudI1+skPtuhAGbWQnSO+lhunV3cvMfw2/Ml3k/VDz6VdFSKFrzAu7ja1VLJfcxr7chi0s8q30pVBb66tGydjIBac3B+RQyqgmZQW1frbRrhC/kPFQ6wPWOJdQ="
|
|
||||||
- secure: "T97NUPnxCpVZ/c5HH0zfo0FO3DPSRMSmze58ubW5EUTZOjAMtEt+OFdsrNZvUTCugUj2M1agtonZbAbczpaAL+lgZcHDgXgWMkfO0pMnsWX1yyCNqMuE/iTMpJr/xsLQeyWlftWjJLsseQU45abZsd1XVmda/G+ZhrDLF1y55SA="
|
|
||||||
|
|
||||||
script: "tools/travis-script.sh"
|
script: "tools/travis-script.sh"
|
||||||
|
|
||||||
after_success:
|
after_success:
|
||||||
@@ -58,3 +61,4 @@ after_success:
|
|||||||
- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l core.zip -r Wagic-core.zip -b $TRAVIS_BRANCH
|
- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l core.zip -r Wagic-core.zip -b $TRAVIS_BRANCH
|
||||||
- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/Android/bin/Wagic-debug.apk -r Wagic-android.apk -b $TRAVIS_BRANCH
|
- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/Android/bin/Wagic-debug.apk -r Wagic-android.apk -b $TRAVIS_BRANCH
|
||||||
- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/psprelease.zip -r Wagic-psp.zip -b $TRAVIS_BRANCH
|
- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/psprelease.zip -r Wagic-psp.zip -b $TRAVIS_BRANCH
|
||||||
|
- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l qt-gui-build/linuxqtrelease.zip -r Wagic-linux-QT.zip -b $TRAVIS_BRANCH
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace boost {
|
|||||||
|
|
||||||
enum xtime_clock_types
|
enum xtime_clock_types
|
||||||
{
|
{
|
||||||
TIME_UTC=1
|
TIME_UTC_=1
|
||||||
// TIME_TAI,
|
// TIME_TAI,
|
||||||
// TIME_MONOTONIC,
|
// TIME_MONOTONIC,
|
||||||
// TIME_PROCESS,
|
// TIME_PROCESS,
|
||||||
@@ -68,7 +68,7 @@ inline xtime get_xtime(boost::system_time const& abs_time)
|
|||||||
|
|
||||||
inline int xtime_get(struct xtime* xtp, int clock_type)
|
inline int xtime_get(struct xtime* xtp, int clock_type)
|
||||||
{
|
{
|
||||||
if (clock_type == TIME_UTC)
|
if (clock_type == TIME_UTC_)
|
||||||
{
|
{
|
||||||
*xtp=get_xtime(get_system_time());
|
*xtp=get_xtime(get_system_time());
|
||||||
return clock_type;
|
return clock_type;
|
||||||
|
|||||||
@@ -350,7 +350,7 @@ namespace boost
|
|||||||
cond.timed_wait(lock, xt);
|
cond.timed_wait(lock, xt);
|
||||||
# endif
|
# endif
|
||||||
xtime cur;
|
xtime cur;
|
||||||
xtime_get(&cur, TIME_UTC);
|
xtime_get(&cur, TIME_UTC_);
|
||||||
if (xtime_cmp(xt, cur) <= 0)
|
if (xtime_cmp(xt, cur) <= 0)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -365,7 +365,7 @@ namespace boost
|
|||||||
BOOST_VERIFY(!pthread_yield());
|
BOOST_VERIFY(!pthread_yield());
|
||||||
# else
|
# else
|
||||||
xtime xt;
|
xtime xt;
|
||||||
xtime_get(&xt, TIME_UTC);
|
xtime_get(&xt, TIME_UTC_);
|
||||||
sleep(xt);
|
sleep(xt);
|
||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ const int NANOSECONDS_PER_MICROSECOND = 1000;
|
|||||||
inline void to_time(int milliseconds, boost::xtime& xt)
|
inline void to_time(int milliseconds, boost::xtime& xt)
|
||||||
{
|
{
|
||||||
int res = 0;
|
int res = 0;
|
||||||
res = boost::xtime_get(&xt, boost::TIME_UTC);
|
res = boost::xtime_get(&xt, boost::TIME_UTC_);
|
||||||
BOOST_ASSERT(res == boost::TIME_UTC);
|
BOOST_ASSERT(res == boost::TIME_UTC_);
|
||||||
|
|
||||||
xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
|
xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
|
||||||
xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
|
xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
|
||||||
@@ -57,8 +57,8 @@ inline void to_timespec_duration(const boost::xtime& xt, timespec& ts)
|
|||||||
{
|
{
|
||||||
boost::xtime cur;
|
boost::xtime cur;
|
||||||
int res = 0;
|
int res = 0;
|
||||||
res = boost::xtime_get(&cur, boost::TIME_UTC);
|
res = boost::xtime_get(&cur, boost::TIME_UTC_);
|
||||||
BOOST_ASSERT(res == boost::TIME_UTC);
|
BOOST_ASSERT(res == boost::TIME_UTC_);
|
||||||
|
|
||||||
if (boost::xtime_cmp(xt, cur) <= 0)
|
if (boost::xtime_cmp(xt, cur) <= 0)
|
||||||
{
|
{
|
||||||
@@ -88,8 +88,8 @@ inline void to_duration(boost::xtime xt, int& milliseconds)
|
|||||||
{
|
{
|
||||||
boost::xtime cur;
|
boost::xtime cur;
|
||||||
int res = 0;
|
int res = 0;
|
||||||
res = boost::xtime_get(&cur, boost::TIME_UTC);
|
res = boost::xtime_get(&cur, boost::TIME_UTC_);
|
||||||
BOOST_ASSERT(res == boost::TIME_UTC);
|
BOOST_ASSERT(res == boost::TIME_UTC_);
|
||||||
|
|
||||||
if (boost::xtime_cmp(xt, cur) <= 0)
|
if (boost::xtime_cmp(xt, cur) <= 0)
|
||||||
milliseconds = 0;
|
milliseconds = 0;
|
||||||
@@ -110,8 +110,8 @@ inline void to_microduration(boost::xtime xt, int& microseconds)
|
|||||||
{
|
{
|
||||||
boost::xtime cur;
|
boost::xtime cur;
|
||||||
int res = 0;
|
int res = 0;
|
||||||
res = boost::xtime_get(&cur, boost::TIME_UTC);
|
res = boost::xtime_get(&cur, boost::TIME_UTC_);
|
||||||
BOOST_ASSERT(res == boost::TIME_UTC);
|
BOOST_ASSERT(res == boost::TIME_UTC_);
|
||||||
|
|
||||||
if (boost::xtime_cmp(xt, cur) <= 0)
|
if (boost::xtime_cmp(xt, cur) <= 0)
|
||||||
microseconds = 0;
|
microseconds = 0;
|
||||||
|
|||||||
141
CHANGELOG.md
@@ -1,6 +1,147 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## [latest-master] (https://github.com/WagicProject/wagic/tree/latest-master)
|
## [latest-master] (https://github.com/WagicProject/wagic/tree/latest-master)
|
||||||
|
#### 8/3/16
|
||||||
|
- *Merged pull-request:* andAbility on ATokenCreator, Extend AAFlip [#\824] (https://github.com/WagicProject/wagic/pull/824) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 7/31/16
|
||||||
|
- *Merged pull-request:* Fix Chandra, Flamecaller & Cryptolith Rite [#\818] (https://github.com/WagicProject/wagic/pull/818) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 7/28/16
|
||||||
|
- *Merged pull-request:* changing some of the logic to the previous fixes, we want to avoid using code that looks for specific card names. [#\800] (https://github.com/WagicProject/wagic/pull/800) ([zethfoxster](https://github.com/zethfoxster))
|
||||||
|
|
||||||
|
#### 7/26/16
|
||||||
|
- *Merged pull-request:* granted flashback [#\791] (https://github.com/WagicProject/wagic/pull/791) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 7/23/16
|
||||||
|
- *Merged pull-request:* Fix Flying vs Moat (multiples of them). Fixes issue #526 [#\783] (https://github.com/WagicProject/wagic/pull/783) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 7/19/16
|
||||||
|
- *Merged pull-request:* pushing to master [#\770] (https://github.com/WagicProject/wagic/pull/770) ([zethfoxster](https://github.com/zethfoxster))
|
||||||
|
|
||||||
|
#### 7/18/16
|
||||||
|
- *Merged pull-request:* Fix Deck Menu layer, Change Main Menu Layout, Fix Crash cdaactive on tokens [#\765] (https://github.com/WagicProject/wagic/pull/765) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 7/12/16
|
||||||
|
- *Merged pull-request:* Pushing fixes [#\750] (https://github.com/WagicProject/wagic/pull/750) ([zethfoxster](https://github.com/zethfoxster))
|
||||||
|
|
||||||
|
- *Merged pull-request:* try to fix failed logic here [#\747] (https://github.com/WagicProject/wagic/pull/747) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 7/9/16
|
||||||
|
- *Merged pull-request:* pushing to master [#\738] (https://github.com/WagicProject/wagic/pull/738) ([zethfoxster](https://github.com/zethfoxster))
|
||||||
|
|
||||||
|
- *Merged pull-request:* Sorted Primitives and Cleanup Tabs [#\736] (https://github.com/WagicProject/wagic/pull/736) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 7/7/16
|
||||||
|
- *Merged pull-request:* Sorted Primitives and Cleanup Tabs [#\727] (https://github.com/WagicProject/wagic/pull/719) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
- *Merged pull-request:* push to wagicproject [#\725] (https://github.com/WagicProject/wagic/pull/725) ([zethfoxster](https://github.com/zethfoxster))
|
||||||
|
|
||||||
|
#### 7/4/16
|
||||||
|
- *Merged pull-request:* Sorted Primitives & Updated Premium Deck Series [#\719] (https://github.com/WagicProject/wagic/pull/719) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
- *Merged pull-request:* Fails but I have no idea why [#\717] (https://github.com/WagicProject/wagic/pull/717) ([zethfoxster](https://github.com/zethfoxster))
|
||||||
|
|
||||||
|
- *Merged pull-request:* Updated Sets [#\715] (https://github.com/WagicProject/wagic/pull/715) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 7/2/16
|
||||||
|
- *Merged pull-request:* Updated Masters, Beginners, Duels and Vault Sets [#\714] (https://github.com/WagicProject/wagic/pull/714) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 7/1/16
|
||||||
|
- *Merged pull-request:* Cleaned and Sorted all Core and Expansion Sets [#\713] (https://github.com/WagicProject/wagic/pull/713) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
- *Merged pull-request:* Soulbond Pair Indicator [#\712] (https://github.com/WagicProject/wagic/pull/712) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 6/30/16
|
||||||
|
- *Merged pull-request:* Sorted Primitives [#\711] (https://github.com/WagicProject/wagic/pull/711) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
- *Merged pull-request:* Add Shackle Ability [#\710] (https://github.com/WagicProject/wagic/pull/710) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
- *Merged pull-request:* Fix Cascade, Crash fix on lastController and some corrections [#\709] (https://github.com/WagicProject/wagic/pull/709) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 6/29/16
|
||||||
|
- *Merged pull-request:* Updated Primitives and Hide Highlight Border [#\707] (https://github.com/WagicProject/wagic/pull/707) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
- *Committed:* Pretty huge patch here(sorry old habits never die :( ) [#\6ee00c1] (https://github.com/WagicProject/wagic/commit/6ee00c138ce374d54cb3ee034575ce440288ca0e) ([zethfoxster](https://github.com/zethfoxster))
|
||||||
|
|
||||||
|
#### 6/23/16
|
||||||
|
- *Merged pull-request:* Fix producecolor:color [#\704] (https://github.com/WagicProject/wagic/pull/704) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 6/17/16
|
||||||
|
- *Merged pull-request:* Force Mounting 2 [#\699] (https://github.com/WagicProject/wagic/pull/699) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 6/16/16
|
||||||
|
- *Merged pull-request:* Import Deck Options [#\697] (https://github.com/WagicProject/wagic/pull/697) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 6/11/16
|
||||||
|
- *Merged pull-request:* Refactor & Devotion [#\690] (https://github.com/WagicProject/wagic/pull/690) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 6/9/16
|
||||||
|
- *Closed issue:* Clone goes to graveyard before being able to copy anything [\#546](https://github.com/WagicProject/wagic/issues/546)
|
||||||
|
|
||||||
|
- *Closed issue:* Blinking an aura causes freeze [\#541](https://github.com/WagicProject/wagic/issues/541)
|
||||||
|
|
||||||
|
- *Closed issue:* Profile name at upper left side is not being updated correctly [\#469](https://github.com/WagicProject/wagic/issues/469)
|
||||||
|
|
||||||
|
- *Closed issue:* Giving card C protection from X does not remove cards attached to C which have quality X [\#464](https://github.com/WagicProject/wagic/issues/464)
|
||||||
|
|
||||||
|
- *Closed issue:* (graphical glitch) wood / gold textures [\#461](https://github.com/WagicProject/wagic/issues/461)
|
||||||
|
|
||||||
|
- *Closed issue:* Clone does not get all P/T bonuses [\#448](https://github.com/WagicProject/wagic/issues/448)
|
||||||
|
|
||||||
|
- *Closed issue:* Card "threaten" messes up the GUI [\#473](https://github.com/WagicProject/wagic/issues/473)
|
||||||
|
|
||||||
|
#### 6/7/16
|
||||||
|
- *Closed issue:* Emrakul isn't killed by creatures with deathtouch [\#597](https://github.com/WagicProject/wagic/issues/597)
|
||||||
|
|
||||||
|
#### 6/3/16
|
||||||
|
- *Merged pull-request:* Cost Increaser & Reducer Fix [#\676] (https://github.com/WagicProject/wagic/pull/676) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 5/30/16
|
||||||
|
- *Fixed Bug:* deckstats crash when "unlock cards" is used [#\668] (https://github.com/WagicProject/wagic/issues/668) ([zethfoxster](https://github.com/zethfoxster))
|
||||||
|
|
||||||
|
#### 5/26/16
|
||||||
|
- *Closed issue:* Nasty memleak crashing devices and its fix. [#\664] (https://github.com/WagicProject/wagic/issues/664) ([zethfoxster](https://github.com/zethfoxster))
|
||||||
|
|
||||||
|
#### 11/08/15
|
||||||
|
- *Merged pull-request:* produce mana for lands you/opponent could produce [#\658] (https://github.com/WagicProject/wagic/pull/658) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 11/07/15
|
||||||
|
- *Merged pull-request:* Manacost Changes, Anyzone for CDA, PayZero Cost [#\656] (https://github.com/WagicProject/wagic/pull/656) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 10/31/15
|
||||||
|
- *Merged pull-request:* Exile Zone, Altercost and Hand modifier [#\653] (https://github.com/WagicProject/wagic/pull/653) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 10/17/15
|
||||||
|
- *Merged pull-request:* Fix issue #473 #784 [#\646] (https://github.com/WagicProject/wagic/pull/646) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 10/15/15
|
||||||
|
- *Merged pull-request:* Bug Fix: Planeswalker Rule & ABlink return to play ability for Aura cards [#\644] (https://github.com/WagicProject/wagic/pull/644) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 10/14/15
|
||||||
|
- *Merged pull-request:* Fix Legend Rule [#\643] (https://github.com/WagicProject/wagic/pull/643) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 10/12/15
|
||||||
|
- *Merged pull-request:* Fix crash bug, support doubled res texture for background, avatars, menutitle [#\641] (https://github.com/WagicProject/wagic/pull/641) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 10/02/15
|
||||||
|
- *Merged pull-request:* LKI for power, toughness and basic abilities, produceextra ability [#\636] (https://github.com/WagicProject/wagic/pull/636) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 09/29/15
|
||||||
|
- *Merged pull-request:* Fix Recover Cards, Cloner, Copier, and Preliminary support for Madness [#\635] (https://github.com/WagicProject/wagic/pull/635) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 09/22/15
|
||||||
|
- *Merged pull-request:* Auraward, unattach event and statebased action for protection from quality [#\631] (https://github.com/WagicProject/wagic/pull/631) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 09/19/15
|
||||||
|
- *Merged pull-request:* PT Switch like Layer 7e and Token Indicator [#\626] (https://github.com/WagicProject/wagic/pull/626) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 09/18/15
|
||||||
|
- *Merged pull-request:* Token Cloning fix and colored PT [#\624] (https://github.com/WagicProject/wagic/pull/624) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
#### 09/15/15
|
||||||
|
- *Merged pull-request:* CDA and X manacost on stack [\#623] (https://github.com/WagicProject/wagic/pull/623) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
#### 08/12/14
|
#### 08/12/14
|
||||||
- *Merged pull-request:* Fix for guild_keywords Devotion, added some "Chroma" cards [\#606](https://github.com/WagicProject/wagic/pull/606) ([kevlahnota](https://github.com/kevlahnota))
|
- *Merged pull-request:* Fix for guild_keywords Devotion, added some "Chroma" cards [\#606](https://github.com/WagicProject/wagic/pull/606) ([kevlahnota](https://github.com/kevlahnota))
|
||||||
|
|
||||||
|
|||||||
@@ -77,6 +77,13 @@ SDL_AtomicTryLock(SDL_SpinLock *lock)
|
|||||||
: "=&r" (result) : "r" (1), "r" (lock) : "cc", "memory");
|
: "=&r" (result) : "r" (1), "r" (lock) : "cc", "memory");
|
||||||
return (result == 0);
|
return (result == 0);
|
||||||
|
|
||||||
|
#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
|
||||||
|
int result;
|
||||||
|
__asm__ __volatile__(
|
||||||
|
"lock ; xchgl %0, (%1)\n"
|
||||||
|
: "=r" (result) : "r" (lock), "0" (1) : "cc", "memory");
|
||||||
|
return (result == 0);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
/* Need CPU instructions for spinlock here! */
|
/* Need CPU instructions for spinlock here! */
|
||||||
__need_spinlock_implementation__
|
__need_spinlock_implementation__
|
||||||
|
|||||||
@@ -474,7 +474,7 @@
|
|||||||
|
|
||||||
#ifndef PNG_VERSION_INFO_ONLY
|
#ifndef PNG_VERSION_INFO_ONLY
|
||||||
/* include the compression library's header */
|
/* include the compression library's header */
|
||||||
#include "zlib.h"
|
#include "../include/zlib.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* include all user configurable info, including optional assembler routines */
|
/* include all user configurable info, including optional assembler routines */
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ HGE_OBJS = src/hge/hgecolor.o src/hge/hgeparticle.o \
|
|||||||
|
|
||||||
CXXFLAGS = -W -Wall -Werror -Wno-unused
|
CXXFLAGS = -W -Wall -Werror -Wno-unused
|
||||||
CXXFLAGS += -DTIXML_USE_STL
|
CXXFLAGS += -DTIXML_USE_STL
|
||||||
|
CXXFLAGS += -Wno-deprecated-declarations -Wno-sign-compare
|
||||||
|
|
||||||
ifdef DEBUG
|
ifdef DEBUG
|
||||||
CXXFLAGS += -ggdb3
|
CXXFLAGS += -ggdb3
|
||||||
@@ -82,8 +83,8 @@ ifeq ($(TARGET_ARCHITECTURE),linux)
|
|||||||
OBJS = $(GENERIC_OBJS) $(LINUX_OBJS)
|
OBJS = $(GENERIC_OBJS) $(LINUX_OBJS)
|
||||||
TARGET_LIB = libjge.a
|
TARGET_LIB = libjge.a
|
||||||
TARGET_HGE = libhgetools.a
|
TARGET_HGE = libhgetools.a
|
||||||
INCDIR = $(shell freetype-config --cflags 2> /dev/null) -I/usr/X11/include -I../Boost -Isrc/zipFS -Iinclude/
|
INCDIR = $(shell freetype-config --cflags 2> /dev/null) -I/usr/X11/include -I/usr/include/boost -Isrc/zipFS -Iinclude/
|
||||||
CXXFLAGS += -DLINUX $(FMOD)
|
CXXFLAGS += -DLINUX -DNETWORK_SUPPORT $(FMOD)
|
||||||
CXXFLAGS += $(INCDIR)
|
CXXFLAGS += $(INCDIR)
|
||||||
LIBDIR = lib/linux
|
LIBDIR = lib/linux
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -18,9 +18,9 @@ using namespace std;
|
|||||||
template <class T>
|
template <class T>
|
||||||
std::string ToHex(T* pointer)
|
std::string ToHex(T* pointer)
|
||||||
{
|
{
|
||||||
std::ostringstream stream;
|
std::ostringstream stream;
|
||||||
stream << hex << showbase << setfill('0') << setw(8) << (uint64_t) pointer;
|
stream << hex << showbase << setfill('0') << setw(8) << (uint64_t) pointer;
|
||||||
return stream.str();
|
return stream.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef LINUX
|
#ifdef LINUX
|
||||||
@@ -42,9 +42,9 @@ std::string ToHex(T* pointer)
|
|||||||
#else // CAPTURE_STDERR
|
#else // CAPTURE_STDERR
|
||||||
#define DebugTrace(inString) \
|
#define DebugTrace(inString) \
|
||||||
{ \
|
{ \
|
||||||
std::ostringstream stream; \
|
std::ostringstream stream; \
|
||||||
stream << inString; \
|
stream << inString; \
|
||||||
qDebug("%s", stream.str().c_str()); \
|
qDebug("%s", stream.str().c_str()); \
|
||||||
}
|
}
|
||||||
#endif // CAPTURE_STDERR
|
#endif // CAPTURE_STDERR
|
||||||
|
|
||||||
@@ -52,16 +52,16 @@ std::string ToHex(T* pointer)
|
|||||||
#include <android/log.h>
|
#include <android/log.h>
|
||||||
#define DebugTrace(inString) \
|
#define DebugTrace(inString) \
|
||||||
{ \
|
{ \
|
||||||
std::ostringstream stream; \
|
std::ostringstream stream; \
|
||||||
stream << inString; \
|
stream << inString; \
|
||||||
__android_log_write(ANDROID_LOG_DEBUG, "Wagic", stream.str().c_str());\
|
__android_log_write(ANDROID_LOG_DEBUG, "Wagic", stream.str().c_str());\
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#define DebugTrace(inString) \
|
#define DebugTrace(inString) \
|
||||||
{ \
|
{ \
|
||||||
std::ostringstream stream; \
|
std::ostringstream stream; \
|
||||||
stream << inString << std::endl; \
|
stream << inString << std::endl; \
|
||||||
OutputDebugStringA(stream.str().c_str()); \
|
OutputDebugStringA(stream.str().c_str()); \
|
||||||
}
|
}
|
||||||
#endif // QT_CONFIG
|
#endif // QT_CONFIG
|
||||||
#endif // Win32, Linux
|
#endif // Win32, Linux
|
||||||
@@ -71,7 +71,7 @@ std::string ToHex(T* pointer)
|
|||||||
#ifndef DebugTrace
|
#ifndef DebugTrace
|
||||||
#define DebugTrace(inString) \
|
#define DebugTrace(inString) \
|
||||||
{ \
|
{ \
|
||||||
std::cerr << inString << std::endl; \
|
std::cerr << inString << std::endl; \
|
||||||
}
|
}
|
||||||
#endif //DEBUG
|
#endif //DEBUG
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -394,6 +394,7 @@ class JGE
|
|||||||
void SetJNIEnv(JNIEnv * env, jclass cls);
|
void SetJNIEnv(JNIEnv * env, jclass cls);
|
||||||
void sendJNICommand(std::string command);
|
void sendJNICommand(std::string command);
|
||||||
std::string getFileSystemLocation();
|
std::string getFileSystemLocation();
|
||||||
|
std::string getFileUserFolderPath();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ const int kInfoMenuID = -200;
|
|||||||
const int kRandomPlayerMenuID = -11;
|
const int kRandomPlayerMenuID = -11;
|
||||||
const int kRandomAIPlayerMenuID = -12;
|
const int kRandomAIPlayerMenuID = -12;
|
||||||
const int kEvilTwinMenuID = -14;
|
const int kEvilTwinMenuID = -14;
|
||||||
|
const int kCommanderMenuID = -33;
|
||||||
|
|
||||||
class JGuiListener
|
class JGuiListener
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -178,8 +178,6 @@ private:
|
|||||||
float mSpacing;
|
float mSpacing;
|
||||||
|
|
||||||
PIXEL_TYPE mColor;
|
PIXEL_TYPE mColor;
|
||||||
int mBlend;
|
|
||||||
|
|
||||||
int mBase;
|
int mBase;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -598,8 +598,6 @@ private:
|
|||||||
GLint prog2_positionLoc;
|
GLint prog2_positionLoc;
|
||||||
GLint prog2_texCoordLoc;
|
GLint prog2_texCoordLoc;
|
||||||
GLint prog2_colorLoc;
|
GLint prog2_colorLoc;
|
||||||
// MVP matrix
|
|
||||||
ESMatrix prog2_mvpMatrix;
|
|
||||||
// Uniform locations
|
// Uniform locations
|
||||||
GLint prog2_mvpLoc;
|
GLint prog2_mvpLoc;
|
||||||
|
|
||||||
@@ -612,13 +610,11 @@ private:
|
|||||||
int mCurrentTextureFormat;
|
int mCurrentTextureFormat;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef PSP
|
||||||
bool mVsync;
|
bool mVsync;
|
||||||
|
int mTexCounter;
|
||||||
|
#endif
|
||||||
int mSwizzle;
|
int mSwizzle;
|
||||||
int mTexCounter;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int mCurrentTextureFilter;
|
int mCurrentTextureFilter;
|
||||||
|
|
||||||
int mCurrTexBlendSrc;
|
int mCurrTexBlendSrc;
|
||||||
|
|||||||
@@ -258,7 +258,9 @@ private:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
int mVolume;
|
int mVolume;
|
||||||
|
#ifndef IOS
|
||||||
int mMusicVolume;
|
int mMusicVolume;
|
||||||
|
#endif
|
||||||
int mSampleVolume;
|
int mSampleVolume;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,12 +18,11 @@ using namespace std;
|
|||||||
|
|
||||||
#define MID_POINT_THRESHOLD 1.0f
|
#define MID_POINT_THRESHOLD 1.0f
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
/// Position of a single dot on screen.
|
/// Position of a single dot on screen.
|
||||||
///
|
///
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
class Point
|
class JPoint
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@@ -34,13 +33,13 @@ public:
|
|||||||
/// @param _y - Y position.
|
/// @param _y - Y position.
|
||||||
///
|
///
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
Point(float _x, float _y) { x = _x; y = _y; }
|
JPoint(float _x, float _y) { x = _x; y = _y; }
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
/// Constructor, set position to default (0.0f, 0.0f)
|
/// Constructor, set position to default (0.0f, 0.0f)
|
||||||
///
|
///
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
Point() { x = 0.0f; y = 0.0f; }
|
JPoint() { x = 0.0f; y = 0.0f; }
|
||||||
|
|
||||||
float x; ///< X position.
|
float x; ///< X position.
|
||||||
float y; ///< Y position.
|
float y; ///< Y position.
|
||||||
@@ -95,7 +94,7 @@ public:
|
|||||||
/// @param pt - Control point.
|
/// @param pt - Control point.
|
||||||
///
|
///
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
void AddControlPoint(const Point &pt);
|
void AddControlPoint(const JPoint &pt);
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
/// Get a control point of the spline.
|
/// Get a control point of the spline.
|
||||||
@@ -105,7 +104,7 @@ public:
|
|||||||
/// @return Control point.
|
/// @return Control point.
|
||||||
///
|
///
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
void GetControlPoint(Point &point, int index);
|
void GetControlPoint(JPoint &point, int index);
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
/// Work out all pixels of the spline.
|
/// Work out all pixels of the spline.
|
||||||
@@ -128,7 +127,7 @@ public:
|
|||||||
/// @return Position of the desire point.
|
/// @return Position of the desire point.
|
||||||
///
|
///
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
void PointOnCurve(Point &out, float t, const Point &p0, const Point &p1, const Point &p2, const Point &p3);
|
void PointOnCurve(JPoint &out, float t, const JPoint &p0, const JPoint &p1, const JPoint &p2, const JPoint &p3);
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
/// Get a number of pixels for this spline.
|
/// Get a number of pixels for this spline.
|
||||||
@@ -146,7 +145,7 @@ public:
|
|||||||
/// @return Position of the desire point.
|
/// @return Position of the desire point.
|
||||||
///
|
///
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
void GetPixel(Point &point, int index);
|
void GetPixel(JPoint &point, int index);
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
/// Render the spline to screen.
|
/// Render the spline to screen.
|
||||||
@@ -156,8 +155,8 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
vector<Point> mMidPoints;
|
vector<JPoint> mMidPoints;
|
||||||
vector<Point> mPixels;
|
vector<JPoint> mPixels;
|
||||||
int mCount;
|
int mCount;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -311,9 +311,7 @@ namespace boost
|
|||||||
|
|
||||||
#include <QMutex>
|
#include <QMutex>
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
|
#include <QSharedPointer>
|
||||||
#include <boost/bind.hpp>
|
|
||||||
#include <boost/shared_ptr.hpp>
|
|
||||||
|
|
||||||
#include "../include/JLogger.h"
|
#include "../include/JLogger.h"
|
||||||
|
|
||||||
@@ -420,23 +418,25 @@ namespace boost
|
|||||||
virtual void run() = 0;
|
virtual void run() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef boost::shared_ptr<detail::thread_data_base> thread_data_ptr;
|
|
||||||
|
|
||||||
template<typename F>
|
typedef QSharedPointer<detail::thread_data_base> thread_data_ptr;
|
||||||
|
|
||||||
|
template<typename F, typename A1>
|
||||||
class thread_data : public detail::thread_data_base
|
class thread_data : public detail::thread_data_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
thread_data(F f_) : f(f_)
|
thread_data(F f_, A1 a1_) : f(f_), a1(a1_)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void run()
|
void run()
|
||||||
{
|
{
|
||||||
f();
|
f(a1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
F f;
|
F f;
|
||||||
|
A1 a1;
|
||||||
|
|
||||||
void operator=(thread_data&);
|
void operator=(thread_data&);
|
||||||
thread_data(thread_data&);
|
thread_data(thread_data&);
|
||||||
@@ -493,7 +493,7 @@ namespace boost
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class F,class A1>
|
template <class F,class A1>
|
||||||
thread(F f, A1 a1) : mThreadInfo(make_thread_info(boost::bind(boost::type<void>(), f, a1)))
|
thread(F f, A1 a1) : mThreadInfo(make_thread_info(f, a1))
|
||||||
{
|
{
|
||||||
mpThread = new threadImpl(mThreadInfo);
|
mpThread = new threadImpl(mThreadInfo);
|
||||||
LOG("Calling start func");
|
LOG("Calling start func");
|
||||||
@@ -510,10 +510,10 @@ namespace boost
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
template<typename F>
|
template<typename F, typename A1>
|
||||||
static inline detail::thread_data_ptr make_thread_info(F f)
|
static inline detail::thread_data_ptr make_thread_info(F f, A1 a1)
|
||||||
{
|
{
|
||||||
return detail::thread_data_ptr(new detail::thread_data<F>(f));
|
return detail::thread_data_ptr(new detail::thread_data<F, A1>(f, a1));
|
||||||
}
|
}
|
||||||
|
|
||||||
detail::thread_data_ptr mThreadInfo;
|
detail::thread_data_ptr mThreadInfo;
|
||||||
|
|||||||
BIN
JGE/lib/linux/libhgetools.a
Normal file
BIN
JGE/lib/linux/libjge.a
Normal file
@@ -16,9 +16,14 @@ User folder is the only one that is really needed to guarantee both read and wri
|
|||||||
The content that users should not be touching.
|
The content that users should not be touching.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef PSP
|
#if defined (ANDROID)
|
||||||
#include "PrecompiledHeader.h"
|
#include "PrecompiledHeader.h"
|
||||||
#endif //PSP
|
#endif //ANDROID
|
||||||
|
|
||||||
|
#if defined (LINUX)
|
||||||
|
#include "../../projects/mtg/include/PrecompiledHeader.h"
|
||||||
|
#endif //LINUX
|
||||||
|
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#pragma warning(disable : 4786)
|
#pragma warning(disable : 4786)
|
||||||
@@ -38,6 +43,12 @@ The content that users should not be touching.
|
|||||||
#include <QDir>
|
#include <QDir>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
#ifdef IOS
|
||||||
|
#include <Foundation/Foundation.h>
|
||||||
|
#endif
|
||||||
|
*/
|
||||||
|
|
||||||
JFileSystem* JFileSystem::mInstance = NULL;
|
JFileSystem* JFileSystem::mInstance = NULL;
|
||||||
|
|
||||||
JZipCache::JZipCache()
|
JZipCache::JZipCache()
|
||||||
@@ -120,10 +131,11 @@ JFileSystem::JFileSystem(const string & _userPath, const string & _systemPath)
|
|||||||
systemPath = [[documentsDirectory stringByAppendingString: @"/Res/"] cStringUsingEncoding:1];
|
systemPath = [[documentsDirectory stringByAppendingString: @"/Res/"] cStringUsingEncoding:1];
|
||||||
|
|
||||||
#elif defined (ANDROID)
|
#elif defined (ANDROID)
|
||||||
userPath = JGE::GetInstance()->getFileSystemLocation();
|
userPath = JGE::GetInstance()->getFileUserFolderPath();
|
||||||
systemPath = "";
|
systemPath = JGE::GetInstance()->getFileSystemLocation();
|
||||||
|
|
||||||
DebugTrace("User path " << userPath);
|
DebugTrace("User path " << userPath);
|
||||||
|
DebugTrace("System path " << systemPath);
|
||||||
#elif defined (QT_CONFIG)
|
#elif defined (QT_CONFIG)
|
||||||
|
|
||||||
QDir sysDir(RESDIR);
|
QDir sysDir(RESDIR);
|
||||||
@@ -248,6 +260,7 @@ void JFileSystem::clearZipCache()
|
|||||||
|
|
||||||
bool JFileSystem::AttachZipFile(const string &zipfile, char *password /* = NULL */)
|
bool JFileSystem::AttachZipFile(const string &zipfile, char *password /* = NULL */)
|
||||||
{
|
{
|
||||||
|
#ifndef WIN32
|
||||||
if (mZipAvailable && mZipFile.is_open())
|
if (mZipAvailable && mZipFile.is_open())
|
||||||
{
|
{
|
||||||
if (mZipFileName != zipfile)
|
if (mZipFileName != zipfile)
|
||||||
@@ -255,7 +268,7 @@ bool JFileSystem::AttachZipFile(const string &zipfile, char *password /* = NULL
|
|||||||
else
|
else
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
mZipFileName = zipfile;
|
mZipFileName = zipfile;
|
||||||
mPassword = password;
|
mPassword = password;
|
||||||
|
|
||||||
|
|||||||
@@ -249,6 +249,7 @@ u32 JGE::BindKey(LocalKeySym sym, JButton button)
|
|||||||
u32 JGE::UnbindKey(LocalKeySym sym, JButton button)
|
u32 JGE::UnbindKey(LocalKeySym sym, JButton button)
|
||||||
{
|
{
|
||||||
for (keycodes_it it = keyBinds.begin(); it != keyBinds.end(); )
|
for (keycodes_it it = keyBinds.begin(); it != keyBinds.end(); )
|
||||||
|
{
|
||||||
if (sym == it->first && button == it->second)
|
if (sym == it->first && button == it->second)
|
||||||
{
|
{
|
||||||
keycodes_it er = it;
|
keycodes_it er = it;
|
||||||
@@ -256,7 +257,8 @@ u32 JGE::UnbindKey(LocalKeySym sym, JButton button)
|
|||||||
keyBinds.erase(er);
|
keyBinds.erase(er);
|
||||||
}
|
}
|
||||||
else ++it;
|
else ++it;
|
||||||
return keyBinds.size();
|
}
|
||||||
|
return keyBinds.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 JGE::UnbindKey(LocalKeySym sym)
|
u32 JGE::UnbindKey(LocalKeySym sym)
|
||||||
@@ -666,7 +668,7 @@ string JGE::getFileSystemLocation()
|
|||||||
if (env == NULL)
|
if (env == NULL)
|
||||||
{
|
{
|
||||||
DebugTrace("An Error Occurred in getting the JNI Environment whie trying to get the system folder location. Defaulting to /mnt/sdcard/net.wagic.app/Wagic");
|
DebugTrace("An Error Occurred in getting the JNI Environment whie trying to get the system folder location. Defaulting to /mnt/sdcard/net.wagic.app/Wagic");
|
||||||
return "/mnt/sdcard/Wagic";
|
return "/mnt/sdcard/Wagic/Res";
|
||||||
};
|
};
|
||||||
|
|
||||||
jclass jniClass = env->FindClass("org/libsdl/app/SDLActivity");
|
jclass jniClass = env->FindClass("org/libsdl/app/SDLActivity");
|
||||||
@@ -675,7 +677,36 @@ string JGE::getFileSystemLocation()
|
|||||||
if (methodId == 0)
|
if (methodId == 0)
|
||||||
{
|
{
|
||||||
DebugTrace("An Error Occurred in getting the JNI methodID for getSystemFolderPath. Defaulting to /mnt/sdcard/Wagic");
|
DebugTrace("An Error Occurred in getting the JNI methodID for getSystemFolderPath. Defaulting to /mnt/sdcard/Wagic");
|
||||||
return "/mnt/sdcard/Wagic";
|
return "/mnt/sdcard/Wagic/Res";
|
||||||
|
};
|
||||||
|
|
||||||
|
jstring systemPath = (jstring) env->CallStaticObjectMethod(jniClass, methodId);
|
||||||
|
|
||||||
|
// Now convert the Java String to C++ char array
|
||||||
|
const char* cstr = env->GetStringUTFChars(systemPath, 0);
|
||||||
|
string retVal (cstr);
|
||||||
|
env->ReleaseStringUTFChars(systemPath, cstr);
|
||||||
|
env->DeleteLocalRef(systemPath);
|
||||||
|
|
||||||
|
return retVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
string JGE::getFileUserFolderPath()
|
||||||
|
{
|
||||||
|
JNIEnv * env = getJNIEnv();
|
||||||
|
if (env == NULL)
|
||||||
|
{
|
||||||
|
DebugTrace("An Error Occurred in getting the JNI Environment whie trying to get the system folder location. Defaulting to /mnt/sdcard/net.wagic.app/Wagic");
|
||||||
|
return "/mnt/sdcard/Wagic/User";
|
||||||
|
};
|
||||||
|
|
||||||
|
jclass jniClass = env->FindClass("org/libsdl/app/SDLActivity");
|
||||||
|
jmethodID methodId = env->GetStaticMethodID( jniClass, "getUserFolderPath", "()Ljava/lang/String;");
|
||||||
|
|
||||||
|
if (methodId == 0)
|
||||||
|
{
|
||||||
|
DebugTrace("An Error Occurred in getting the JNI methodID for getSystemFolderPath. Defaulting to /mnt/sdcard/Wagic");
|
||||||
|
return "/mnt/sdcard/Wagic/User";
|
||||||
};
|
};
|
||||||
|
|
||||||
jstring systemPath = (jstring) env->CallStaticObjectMethod(jniClass, methodId);
|
jstring systemPath = (jstring) env->CallStaticObjectMethod(jniClass, methodId);
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ bool JGuiController::CheckUserInput(JButton key)
|
|||||||
mObjects[mCurr]->Entering();
|
mObjects[mCurr]->Entering();
|
||||||
}
|
}
|
||||||
mEngine->LeftClickedProcessed();
|
mEngine->LeftClickedProcessed();
|
||||||
mEngine->ResetInput();
|
mEngine->ResetInput();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
mEngine->LeftClickedProcessed();
|
mEngine->LeftClickedProcessed();
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ bool JSpline::Load(const char *filename, float xscale, float yscale)
|
|||||||
element->QueryFloatAttribute("x", &xx);
|
element->QueryFloatAttribute("x", &xx);
|
||||||
element->QueryFloatAttribute("y", &yy);
|
element->QueryFloatAttribute("y", &yy);
|
||||||
|
|
||||||
Point pt(xx*xscale, yy*yscale);
|
JPoint pt(xx*xscale, yy*yscale);
|
||||||
AddControlPoint(pt);
|
AddControlPoint(pt);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -84,7 +84,7 @@ bool JSpline::Load(const char *filename, float xscale, float yscale)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void JSpline::PointOnCurve(Point &out, float t, const Point &p0, const Point &p1, const Point &p2, const Point &p3)
|
void JSpline::PointOnCurve(JPoint &out, float t, const JPoint &p0, const JPoint &p1, const JPoint &p2, const JPoint &p3)
|
||||||
{
|
{
|
||||||
float t2 = t * t;
|
float t2 = t * t;
|
||||||
float t3 = t2 * t;
|
float t3 = t2 * t;
|
||||||
@@ -113,8 +113,8 @@ void JSpline::GeneratePixels()
|
|||||||
x = mMidPoints[1].x;
|
x = mMidPoints[1].x;
|
||||||
y = mMidPoints[1].y;
|
y = mMidPoints[1].y;
|
||||||
|
|
||||||
Point newPt(x, y);
|
JPoint newPt(x, y);
|
||||||
Point extraPt;
|
JPoint extraPt;
|
||||||
|
|
||||||
mPixels.push_back(newPt);
|
mPixels.push_back(newPt);
|
||||||
|
|
||||||
@@ -151,13 +151,13 @@ void JSpline::GeneratePixels()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void JSpline::AddControlPoint(const Point &pt)
|
void JSpline::AddControlPoint(const JPoint &pt)
|
||||||
{
|
{
|
||||||
mMidPoints.push_back(pt);
|
mMidPoints.push_back(pt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void JSpline::GetControlPoint(Point &point, int index)
|
void JSpline::GetControlPoint(JPoint &point, int index)
|
||||||
{
|
{
|
||||||
if (index < (int)mMidPoints.size())
|
if (index < (int)mMidPoints.size())
|
||||||
{
|
{
|
||||||
@@ -167,7 +167,7 @@ void JSpline::GetControlPoint(Point &point, int index)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void JSpline::GetPixel(Point &point, int index)
|
void JSpline::GetPixel(JPoint &point, int index)
|
||||||
{
|
{
|
||||||
if (index < (int)mPixels.size())
|
if (index < (int)mPixels.size())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -87,8 +87,6 @@ WagicWrapper::~WagicWrapper()
|
|||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
QCoreApplication a(argc, argv);
|
|
||||||
|
|
||||||
int result = 0;
|
int result = 0;
|
||||||
WagicWrapper* wagicCore = new WagicWrapper();
|
WagicWrapper* wagicCore = new WagicWrapper();
|
||||||
MTGCollection()->loadFolder("sets/primitives/");
|
MTGCollection()->loadFolder("sets/primitives/");
|
||||||
|
|||||||
@@ -18,6 +18,11 @@
|
|||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#ifndef WIN32
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
#if (defined FORCE_GLES)
|
#if (defined FORCE_GLES)
|
||||||
#undef GL_ES_VERSION_2_0
|
#undef GL_ES_VERSION_2_0
|
||||||
@@ -53,6 +58,7 @@ JGameLauncher* g_launcher = NULL;
|
|||||||
#ifdef ANDROID
|
#ifdef ANDROID
|
||||||
JNIEnv * mJNIEnv = NULL;
|
JNIEnv * mJNIEnv = NULL;
|
||||||
jclass * mJNIClass = NULL;
|
jclass * mJNIClass = NULL;
|
||||||
|
int SDL_ResumeSyncTime = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class SdlApp;
|
class SdlApp;
|
||||||
@@ -78,6 +84,7 @@ extern "C" void Java_org_libsdl_app_SDLActivity_nativeResume(
|
|||||||
{
|
{
|
||||||
if (!g_engine)
|
if (!g_engine)
|
||||||
return;
|
return;
|
||||||
|
SDL_ResumeSyncTime = 100000;
|
||||||
g_engine->Resume();
|
g_engine->Resume();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -136,8 +143,16 @@ public:
|
|||||||
if(!g_engine->IsPaused())
|
if(!g_engine->IsPaused())
|
||||||
OnEvent(&Event);
|
OnEvent(&Event);
|
||||||
}
|
}
|
||||||
if(!g_engine->IsPaused())
|
if(!g_engine->IsPaused()){
|
||||||
|
#ifdef ANDROID
|
||||||
|
// Fix for SDL crash on resuming Android app from background.
|
||||||
|
if(SDL_ResumeSyncTime){
|
||||||
|
usleep(SDL_ResumeSyncTime);
|
||||||
|
SDL_ResumeSyncTime = 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
OnUpdate();
|
OnUpdate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -293,17 +308,18 @@ static const struct { LocalKeySym keysym; JButton keycode; } gDefaultBindings[]
|
|||||||
{ SDLK_DOWN, JGE_BTN_DOWN },
|
{ SDLK_DOWN, JGE_BTN_DOWN },
|
||||||
{ SDLK_LEFT, JGE_BTN_LEFT },
|
{ SDLK_LEFT, JGE_BTN_LEFT },
|
||||||
{ SDLK_RIGHT, JGE_BTN_RIGHT },
|
{ SDLK_RIGHT, JGE_BTN_RIGHT },
|
||||||
{ SDLK_z, JGE_BTN_UP },
|
{ SDLK_w, JGE_BTN_UP },
|
||||||
{ SDLK_d, JGE_BTN_RIGHT },
|
|
||||||
{ SDLK_s, JGE_BTN_DOWN },
|
{ SDLK_s, JGE_BTN_DOWN },
|
||||||
{ SDLK_q, JGE_BTN_LEFT },
|
{ SDLK_a, JGE_BTN_LEFT },
|
||||||
{ SDLK_a, JGE_BTN_PREV },
|
{ SDLK_d, JGE_BTN_RIGHT },
|
||||||
|
{ SDLK_q, JGE_BTN_PREV },
|
||||||
{ SDLK_e, JGE_BTN_NEXT },
|
{ SDLK_e, JGE_BTN_NEXT },
|
||||||
{ SDLK_i, JGE_BTN_CANCEL },
|
{ SDLK_i, JGE_BTN_CANCEL },
|
||||||
{ SDLK_l, JGE_BTN_OK },
|
{ SDLK_l, JGE_BTN_OK },
|
||||||
{ SDLK_SPACE, JGE_BTN_OK },
|
{ SDLK_SPACE, JGE_BTN_OK },
|
||||||
{ SDLK_k, JGE_BTN_SEC },
|
{ SDLK_k, JGE_BTN_SEC },
|
||||||
{ SDLK_j, JGE_BTN_PRI },
|
{ SDLK_j, JGE_BTN_PRI },
|
||||||
|
{ SDLK_b, JGE_BTN_SOUND },
|
||||||
{ SDLK_f, JGE_BTN_FULLSCREEN },
|
{ SDLK_f, JGE_BTN_FULLSCREEN },
|
||||||
|
|
||||||
/* old Qt ones, basically modified to comply with the N900 keyboard
|
/* old Qt ones, basically modified to comply with the N900 keyboard
|
||||||
|
|||||||
@@ -185,9 +185,9 @@ static const int doubleBufferAttributes[] = {
|
|||||||
GLX_RED_SIZE, 1, /* the maximum number of bits per component */
|
GLX_RED_SIZE, 1, /* the maximum number of bits per component */
|
||||||
GLX_GREEN_SIZE, 1,
|
GLX_GREEN_SIZE, 1,
|
||||||
GLX_BLUE_SIZE, 1,
|
GLX_BLUE_SIZE, 1,
|
||||||
None
|
0L /* None */
|
||||||
};
|
};
|
||||||
static Bool WaitForNotify(Display *dpy, XEvent *event, XPointer arg)
|
static int WaitForNotify(Display *dpy, XEvent *event, XPointer arg)
|
||||||
{
|
{
|
||||||
return (event->type == MapNotify) && (event->xmap.window == (Window) arg);
|
return (event->type == MapNotify) && (event->xmap.window == (Window) arg);
|
||||||
}
|
}
|
||||||
@@ -387,13 +387,13 @@ int main(int argc, char* argv[])
|
|||||||
if (XCheckWindowEvent(gXDisplay, gXWindow, KeyPressMask | KeyReleaseMask | StructureNotifyMask, &event))
|
if (XCheckWindowEvent(gXDisplay, gXWindow, KeyPressMask | KeyReleaseMask | StructureNotifyMask, &event))
|
||||||
switch (event.type)
|
switch (event.type)
|
||||||
{
|
{
|
||||||
case KeyPress:
|
case 2: /* KeyPress */
|
||||||
{
|
{
|
||||||
const KeySym sym = XKeycodeToKeysym(gXDisplay, event.xkey.keycode, 1);
|
const KeySym sym = XKeycodeToKeysym(gXDisplay, event.xkey.keycode, 1);
|
||||||
g_engine->HoldKey_NoRepeat(sym);
|
g_engine->HoldKey_NoRepeat(sym);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case KeyRelease:
|
case 3: /* KeyRelease */
|
||||||
g_engine->ReleaseKey(XKeycodeToKeysym(gXDisplay, event.xkey.keycode, 1));
|
g_engine->ReleaseKey(XKeycodeToKeysym(gXDisplay, event.xkey.keycode, 1));
|
||||||
break;
|
break;
|
||||||
case ConfigureNotify:
|
case ConfigureNotify:
|
||||||
|
|||||||
@@ -185,6 +185,12 @@ JMusic *JSoundSystem::LoadMusic(const char *fileName)
|
|||||||
result = (*engineEngine)->CreateAudioPlayer(engineEngine, &music->playerObject, &audioSrc, &audioSnk, 2, ids, req);
|
result = (*engineEngine)->CreateAudioPlayer(engineEngine, &music->playerObject, &audioSrc, &audioSnk, 2, ids, req);
|
||||||
DebugTrace("result " << result);
|
DebugTrace("result " << result);
|
||||||
|
|
||||||
|
if(result == SL_RESULT_MEMORY_FAILURE){
|
||||||
|
delete music;
|
||||||
|
mCurrentMusic = NULL;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
// realize the player
|
// realize the player
|
||||||
result = (*music->playerObject)->Realize(music->playerObject, SL_BOOLEAN_FALSE);
|
result = (*music->playerObject)->Realize(music->playerObject, SL_BOOLEAN_FALSE);
|
||||||
DebugTrace("result " << result);
|
DebugTrace("result " << result);
|
||||||
@@ -303,6 +309,12 @@ JSample *JSoundSystem::LoadSample(const char *fileName)
|
|||||||
1, ids, req);
|
1, ids, req);
|
||||||
DebugTrace("result " << result);
|
DebugTrace("result " << result);
|
||||||
|
|
||||||
|
if(result == SL_RESULT_MEMORY_FAILURE){
|
||||||
|
delete sample;
|
||||||
|
mCurrentSample = NULL;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
// realize the player
|
// realize the player
|
||||||
result = (*sample->playerObject)->Realize(sample->playerObject, SL_BOOLEAN_FALSE);
|
result = (*sample->playerObject)->Realize(sample->playerObject, SL_BOOLEAN_FALSE);
|
||||||
DebugTrace("result " << result);
|
DebugTrace("result " << result);
|
||||||
|
|||||||
@@ -96,7 +96,8 @@ hgeParticleSystem::hgeParticleSystem(hgeParticleSystemInfo *psi)
|
|||||||
{
|
{
|
||||||
//hge=hgeCreate(HGE_VERSION);
|
//hge=hgeCreate(HGE_VERSION);
|
||||||
|
|
||||||
memcpy(&info, psi, sizeof(hgeParticleSystemInfo));
|
if (psi)
|
||||||
|
memcpy(&info, psi, sizeof(hgeParticleSystemInfo));
|
||||||
|
|
||||||
vecLocation.x=vecPrevLocation.x=0.0f;
|
vecLocation.x=vecPrevLocation.x=0.0f;
|
||||||
vecLocation.y=vecPrevLocation.y=0.0f;
|
vecLocation.y=vecPrevLocation.y=0.0f;
|
||||||
|
|||||||
@@ -10,5 +10,6 @@ void resumeGame();
|
|||||||
@property (nonatomic, retain) id eaglView;
|
@property (nonatomic, retain) id eaglView;
|
||||||
@property (nonatomic, retain) UITextField *inputField;
|
@property (nonatomic, retain) UITextField *inputField;
|
||||||
@property (nonatomic, assign) BOOL bannerIsVisible;
|
@property (nonatomic, assign) BOOL bannerIsVisible;
|
||||||
|
- (void)toggleKeyboardWithState: (NSString *) initialText;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -53,28 +53,28 @@
|
|||||||
|
|
||||||
- (void)viewWillAppear:(BOOL)animated {
|
- (void)viewWillAppear:(BOOL)animated {
|
||||||
NSLog(@"EAGL ViewController - view Will Appear");
|
NSLog(@"EAGL ViewController - view Will Appear");
|
||||||
[self.view resumeGame];
|
[(id)self.view resumeGame];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
- (void)viewWillDisappear:(BOOL)animated
|
- (void)viewWillDisappear:(BOOL)animated
|
||||||
{
|
{
|
||||||
[self.view pauseGame];
|
[(id)self.view pauseGame];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)pauseGame
|
- (void)pauseGame
|
||||||
{
|
{
|
||||||
[self.view pauseGame];
|
[(id)self.view pauseGame];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)resumeGame
|
- (void)resumeGame
|
||||||
{
|
{
|
||||||
[self.view resumeGame];
|
[(id)self.view resumeGame];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)endGame
|
- (void)endGame
|
||||||
{
|
{
|
||||||
[self.view endGame];
|
[(id)self.view endGame];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)viewDidAppear:(BOOL)animated {
|
- (void)viewDidAppear:(BOOL)animated {
|
||||||
|
|||||||
@@ -337,7 +337,7 @@
|
|||||||
|
|
||||||
- (void)applicationWillTerminate:(UIApplication *)application
|
- (void)applicationWillTerminate:(UIApplication *)application
|
||||||
{
|
{
|
||||||
[self.glViewController.view destroyGame];
|
[(id)self.glViewController.view destroyGame];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)initializeKeyboard: (id) initialState
|
- (void)initializeKeyboard: (id) initialState
|
||||||
|
|||||||
@@ -1804,7 +1804,7 @@ static void PNGCustomReadDataFn(png_structp png_ptr, png_bytep data, png_size_t
|
|||||||
{
|
{
|
||||||
png_size_t check;
|
png_size_t check;
|
||||||
|
|
||||||
JFileSystem *fileSystem = (JFileSystem*)png_ptr->io_ptr;
|
JFileSystem *fileSystem = (JFileSystem*)png_get_io_ptr(png_ptr);
|
||||||
|
|
||||||
check = fileSystem->ReadFile(data, length);
|
check = fileSystem->ReadFile(data, length);
|
||||||
|
|
||||||
@@ -1887,7 +1887,7 @@ int JRenderer::LoadPNG(TextureInfo &textureInfo, const char *filename, int mode
|
|||||||
//fclose(fp);
|
//fclose(fp);
|
||||||
fileSystem->CloseFile();
|
fileSystem->CloseFile();
|
||||||
|
|
||||||
png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
|
png_destroy_read_struct(&png_ptr, NULL, NULL);
|
||||||
|
|
||||||
return JGE_ERR_PNG;
|
return JGE_ERR_PNG;
|
||||||
}
|
}
|
||||||
@@ -1896,11 +1896,15 @@ int JRenderer::LoadPNG(TextureInfo &textureInfo, const char *filename, int mode
|
|||||||
|
|
||||||
png_set_sig_bytes(png_ptr, sig_read);
|
png_set_sig_bytes(png_ptr, sig_read);
|
||||||
png_read_info(png_ptr, info_ptr);
|
png_read_info(png_ptr, info_ptr);
|
||||||
png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, &interlace_type, int_p_NULL, int_p_NULL);
|
png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, &interlace_type, NULL, NULL);
|
||||||
png_set_strip_16(png_ptr);
|
png_set_strip_16(png_ptr);
|
||||||
png_set_packing(png_ptr);
|
png_set_packing(png_ptr);
|
||||||
if (color_type == PNG_COLOR_TYPE_PALETTE) png_set_palette_to_rgb(png_ptr);
|
if (color_type == PNG_COLOR_TYPE_PALETTE) png_set_palette_to_rgb(png_ptr);
|
||||||
|
#if PNG_LIBPNG_VER >= 10400
|
||||||
|
if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) png_set_expand_gray_1_2_4_to_8(png_ptr);
|
||||||
|
#else
|
||||||
if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) png_set_gray_1_2_4_to_8(png_ptr);
|
if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) png_set_gray_1_2_4_to_8(png_ptr);
|
||||||
|
#endif
|
||||||
if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) png_set_tRNS_to_alpha(png_ptr);
|
if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) png_set_tRNS_to_alpha(png_ptr);
|
||||||
png_set_filler(png_ptr, 0xff, PNG_FILLER_AFTER);
|
png_set_filler(png_ptr, 0xff, PNG_FILLER_AFTER);
|
||||||
|
|
||||||
@@ -1910,7 +1914,7 @@ int JRenderer::LoadPNG(TextureInfo &textureInfo, const char *filename, int mode
|
|||||||
//fclose(fp);
|
//fclose(fp);
|
||||||
fileSystem->CloseFile();
|
fileSystem->CloseFile();
|
||||||
|
|
||||||
png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
|
png_destroy_read_struct(&png_ptr, NULL, NULL);
|
||||||
return JGE_ERR_MALLOC_FAILED;
|
return JGE_ERR_MALLOC_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1932,7 +1936,7 @@ int JRenderer::LoadPNG(TextureInfo &textureInfo, const char *filename, int mode
|
|||||||
|
|
||||||
for (y = 0; y < (int)height; y++)
|
for (y = 0; y < (int)height; y++)
|
||||||
{
|
{
|
||||||
png_read_row(png_ptr, (BYTE*) line, png_bytep_NULL);
|
png_read_row(png_ptr, (BYTE*) line, NULL);
|
||||||
for (x = 0; x < (int)width; x++)
|
for (x = 0; x < (int)width; x++)
|
||||||
{
|
{
|
||||||
DWORD color32 = line[x];
|
DWORD color32 = line[x];
|
||||||
@@ -1955,7 +1959,7 @@ int JRenderer::LoadPNG(TextureInfo &textureInfo, const char *filename, int mode
|
|||||||
free (line);
|
free (line);
|
||||||
|
|
||||||
png_read_end(png_ptr, info_ptr);
|
png_read_end(png_ptr, info_ptr);
|
||||||
png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
|
png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
|
||||||
|
|
||||||
fileSystem->CloseFile();
|
fileSystem->CloseFile();
|
||||||
|
|
||||||
@@ -1998,8 +2002,15 @@ int JRenderer::image_readgif(void * handle, TextureInfo &textureInfo, DWORD * bg
|
|||||||
GifFileType *GifFileIn = NULL;
|
GifFileType *GifFileIn = NULL;
|
||||||
ColorMapObject *palette;
|
ColorMapObject *palette;
|
||||||
int ExtCode;
|
int ExtCode;
|
||||||
|
|
||||||
|
#if GIFLIB_MAJOR >= 5
|
||||||
|
if ((GifFileIn = DGifOpen(handle, readFunc, NULL)) == NULL)
|
||||||
|
return 1;
|
||||||
|
#else
|
||||||
if ((GifFileIn = DGifOpen(handle, readFunc)) == NULL)
|
if ((GifFileIn = DGifOpen(handle, readFunc)) == NULL)
|
||||||
return 1;
|
return 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
*bgcolor = 0;
|
*bgcolor = 0;
|
||||||
textureInfo.mWidth = 0;
|
textureInfo.mWidth = 0;
|
||||||
textureInfo.mHeight = 0;
|
textureInfo.mHeight = 0;
|
||||||
@@ -2008,7 +2019,11 @@ int JRenderer::image_readgif(void * handle, TextureInfo &textureInfo, DWORD * bg
|
|||||||
do {
|
do {
|
||||||
if (DGifGetRecordType(GifFileIn, &RecordType) == GIF_ERROR)
|
if (DGifGetRecordType(GifFileIn, &RecordType) == GIF_ERROR)
|
||||||
{
|
{
|
||||||
|
#if GIFLIB_MAJOR >= 5
|
||||||
|
DGifCloseFile(GifFileIn, NULL);
|
||||||
|
#else
|
||||||
DGifCloseFile(GifFileIn);
|
DGifCloseFile(GifFileIn);
|
||||||
|
#endif
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2017,12 +2032,20 @@ int JRenderer::image_readgif(void * handle, TextureInfo &textureInfo, DWORD * bg
|
|||||||
{
|
{
|
||||||
if (DGifGetImageDesc(GifFileIn) == GIF_ERROR)
|
if (DGifGetImageDesc(GifFileIn) == GIF_ERROR)
|
||||||
{
|
{
|
||||||
|
#if GIFLIB_MAJOR >= 5
|
||||||
|
DGifCloseFile(GifFileIn, NULL);
|
||||||
|
#else
|
||||||
DGifCloseFile(GifFileIn);
|
DGifCloseFile(GifFileIn);
|
||||||
|
#endif
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if((palette = (GifFileIn->SColorMap != NULL) ? GifFileIn->SColorMap : GifFileIn->Image.ColorMap) == NULL)
|
if((palette = (GifFileIn->SColorMap != NULL) ? GifFileIn->SColorMap : GifFileIn->Image.ColorMap) == NULL)
|
||||||
{
|
{
|
||||||
|
#if GIFLIB_MAJOR >= 5
|
||||||
|
DGifCloseFile(GifFileIn, NULL);
|
||||||
|
#else
|
||||||
DGifCloseFile(GifFileIn);
|
DGifCloseFile(GifFileIn);
|
||||||
|
#endif
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
textureInfo.mWidth = GifFileIn->Image.Width;
|
textureInfo.mWidth = GifFileIn->Image.Width;
|
||||||
@@ -2030,7 +2053,11 @@ int JRenderer::image_readgif(void * handle, TextureInfo &textureInfo, DWORD * bg
|
|||||||
*bgcolor = gif_color32(GifFileIn->SBackGroundColor);
|
*bgcolor = gif_color32(GifFileIn->SBackGroundColor);
|
||||||
if((LineIn = (GifRowType) malloc(GifFileIn->Image.Width * sizeof(GifPixelType))) == NULL)
|
if((LineIn = (GifRowType) malloc(GifFileIn->Image.Width * sizeof(GifPixelType))) == NULL)
|
||||||
{
|
{
|
||||||
|
#if GIFLIB_MAJOR >= 5
|
||||||
|
DGifCloseFile(GifFileIn, NULL);
|
||||||
|
#else
|
||||||
DGifCloseFile(GifFileIn);
|
DGifCloseFile(GifFileIn);
|
||||||
|
#endif
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
textureInfo.mTexWidth = getNextPower2(GifFileIn->Image.Width);
|
textureInfo.mTexWidth = getNextPower2(GifFileIn->Image.Width);
|
||||||
@@ -2040,7 +2067,11 @@ int JRenderer::image_readgif(void * handle, TextureInfo &textureInfo, DWORD * bg
|
|||||||
if((p32 = (DWORD *)malloc(sizeof(PIXEL_TYPE) * textureInfo.mTexWidth * textureInfo.mTexHeight)) == NULL)
|
if((p32 = (DWORD *)malloc(sizeof(PIXEL_TYPE) * textureInfo.mTexWidth * textureInfo.mTexHeight)) == NULL)
|
||||||
{
|
{
|
||||||
free((void *)LineIn);
|
free((void *)LineIn);
|
||||||
|
#if GIFLIB_MAJOR >= 5
|
||||||
|
DGifCloseFile(GifFileIn, NULL);
|
||||||
|
#else
|
||||||
DGifCloseFile(GifFileIn);
|
DGifCloseFile(GifFileIn);
|
||||||
|
#endif
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
DWORD * curr = p32;
|
DWORD * curr = p32;
|
||||||
@@ -2052,7 +2083,11 @@ int JRenderer::image_readgif(void * handle, TextureInfo &textureInfo, DWORD * bg
|
|||||||
{
|
{
|
||||||
free((void *)p32);
|
free((void *)p32);
|
||||||
free((void *)LineIn);
|
free((void *)LineIn);
|
||||||
|
#if GIFLIB_MAJOR >= 5
|
||||||
|
DGifCloseFile(GifFileIn, NULL);
|
||||||
|
#else
|
||||||
DGifCloseFile(GifFileIn);
|
DGifCloseFile(GifFileIn);
|
||||||
|
#endif
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
for (GifWord j = 0; j < GifFileIn->Image.Width; j ++)
|
for (GifWord j = 0; j < GifFileIn->Image.Width; j ++)
|
||||||
@@ -2081,7 +2116,11 @@ int JRenderer::image_readgif(void * handle, TextureInfo &textureInfo, DWORD * bg
|
|||||||
}
|
}
|
||||||
if(LineIn != NULL)
|
if(LineIn != NULL)
|
||||||
free((void *)LineIn);
|
free((void *)LineIn);
|
||||||
|
#if GIFLIB_MAJOR >= 5
|
||||||
|
DGifCloseFile(GifFileIn, NULL);
|
||||||
|
#else
|
||||||
DGifCloseFile(GifFileIn);
|
DGifCloseFile(GifFileIn);
|
||||||
|
#endif
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
while (Extension != NULL) {
|
while (Extension != NULL) {
|
||||||
@@ -2094,7 +2133,11 @@ int JRenderer::image_readgif(void * handle, TextureInfo &textureInfo, DWORD * bg
|
|||||||
}
|
}
|
||||||
if(LineIn != NULL)
|
if(LineIn != NULL)
|
||||||
free((void *)LineIn);
|
free((void *)LineIn);
|
||||||
|
#if GIFLIB_MAJOR >= 5
|
||||||
|
DGifCloseFile(GifFileIn, NULL);
|
||||||
|
#else
|
||||||
DGifCloseFile(GifFileIn);
|
DGifCloseFile(GifFileIn);
|
||||||
|
#endif
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2109,7 +2152,11 @@ int JRenderer::image_readgif(void * handle, TextureInfo &textureInfo, DWORD * bg
|
|||||||
|
|
||||||
if(LineIn != NULL)
|
if(LineIn != NULL)
|
||||||
free((void *)LineIn);
|
free((void *)LineIn);
|
||||||
|
#if GIFLIB_MAJOR >= 5
|
||||||
|
DGifCloseFile(GifFileIn, NULL);
|
||||||
|
#else
|
||||||
DGifCloseFile(GifFileIn);
|
DGifCloseFile(GifFileIn);
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,9 +67,7 @@ void JMusic::seekAtTheBegining()
|
|||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
JSample::JSample()
|
JSample::JSample()
|
||||||
#ifdef QT_CONFIG
|
#ifdef USE_PHONON
|
||||||
: effect(0)
|
|
||||||
#elif (defined USE_PHONON)
|
|
||||||
: mOutput(0), mMediaObject(0)
|
: mOutput(0), mMediaObject(0)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
@@ -79,11 +77,9 @@ JSample::JSample()
|
|||||||
JSample::~JSample()
|
JSample::~JSample()
|
||||||
{
|
{
|
||||||
#if (defined QT_CONFIG) && (!defined USE_PHONON)
|
#if (defined QT_CONFIG) && (!defined USE_PHONON)
|
||||||
if(effect) {
|
if(effect)
|
||||||
delete effect;
|
delete effect;
|
||||||
effect = 0;
|
#elif USE_PHONON
|
||||||
}
|
|
||||||
#elif (defined USE_PHONON)
|
|
||||||
if(mOutput)
|
if(mOutput)
|
||||||
delete mOutput;
|
delete mOutput;
|
||||||
if(mMediaObject)
|
if(mMediaObject)
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#include <winsock.h>
|
#include <winsock.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#elif LINUX
|
#elif LINUX
|
||||||
|
#include <unistd.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
@@ -47,7 +48,9 @@ JSocket::JSocket(string ipAddr)
|
|||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
unsigned int addr_dest = inet_addr(ipAddr.c_str());
|
unsigned int addr_dest = inet_addr(ipAddr.c_str());
|
||||||
hostentptr=gethostbyaddr((char*) &addr_dest, 4, AF_INET);
|
hostentptr = gethostbyaddr((char*) &addr_dest, 4, AF_INET);
|
||||||
|
if (hostentptr == NULL)
|
||||||
|
hostentptr = gethostbyname(ipAddr.c_str()); // Fix for Windows if IP Address cannot be resolved.
|
||||||
#elif LINUX
|
#elif LINUX
|
||||||
hostentptr = gethostbyname(ipAddr.c_str());
|
hostentptr = gethostbyname(ipAddr.c_str());
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -87,13 +87,13 @@ static void init_keys(const char* passwd,unsigned long* pkeys,const unsigned lon
|
|||||||
# define ZCR_SEED2 3141592654UL /* use PI as default pattern */
|
# define ZCR_SEED2 3141592654UL /* use PI as default pattern */
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
static int crypthead(passwd, buf, bufSize, pkeys, pcrc_32_tab, crcForCrypting)
|
static int crypthead(
|
||||||
const char *passwd; /* password string */
|
const char *passwd, /* password string */
|
||||||
unsigned char *buf; /* where to write header */
|
unsigned char *buf, /* where to write header */
|
||||||
int bufSize;
|
int bufSize,
|
||||||
unsigned long* pkeys;
|
unsigned long* pkeys,
|
||||||
const unsigned long* pcrc_32_tab;
|
const unsigned long* pcrc_32_tab,
|
||||||
unsigned long crcForCrypting;
|
unsigned long crcForCrypting)
|
||||||
{
|
{
|
||||||
int n; /* index in random header */
|
int n; /* index in random header */
|
||||||
int t; /* temporary */
|
int t; /* temporary */
|
||||||
|
|||||||
@@ -65,10 +65,10 @@ int ZCALLBACK ferror_file_func OF((
|
|||||||
voidpf stream));
|
voidpf stream));
|
||||||
|
|
||||||
|
|
||||||
voidpf ZCALLBACK fopen_file_func (opaque, filename, mode)
|
voidpf ZCALLBACK fopen_file_func (
|
||||||
voidpf opaque;
|
voidpf opaque,
|
||||||
const char* filename;
|
const char* filename,
|
||||||
int mode;
|
int mode)
|
||||||
{
|
{
|
||||||
FILE* file = NULL;
|
FILE* file = NULL;
|
||||||
const char* mode_fopen = NULL;
|
const char* mode_fopen = NULL;
|
||||||
@@ -87,11 +87,11 @@ voidpf ZCALLBACK fopen_file_func (opaque, filename, mode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uLong ZCALLBACK fread_file_func (opaque, stream, buf, size)
|
uLong ZCALLBACK fread_file_func (
|
||||||
voidpf opaque;
|
voidpf opaque,
|
||||||
voidpf stream;
|
voidpf stream,
|
||||||
void* buf;
|
void* buf,
|
||||||
uLong size;
|
uLong size)
|
||||||
{
|
{
|
||||||
uLong ret;
|
uLong ret;
|
||||||
ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
|
ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
|
||||||
@@ -99,31 +99,31 @@ uLong ZCALLBACK fread_file_func (opaque, stream, buf, size)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uLong ZCALLBACK fwrite_file_func (opaque, stream, buf, size)
|
uLong ZCALLBACK fwrite_file_func (
|
||||||
voidpf opaque;
|
voidpf opaque,
|
||||||
voidpf stream;
|
voidpf stream,
|
||||||
const void* buf;
|
const void* buf,
|
||||||
uLong size;
|
uLong size)
|
||||||
{
|
{
|
||||||
uLong ret;
|
uLong ret;
|
||||||
ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
|
ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
long ZCALLBACK ftell_file_func (opaque, stream)
|
long ZCALLBACK ftell_file_func (
|
||||||
voidpf opaque;
|
voidpf opaque,
|
||||||
voidpf stream;
|
voidpf stream)
|
||||||
{
|
{
|
||||||
long ret;
|
long ret;
|
||||||
ret = ftell((FILE *)stream);
|
ret = ftell((FILE *)stream);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
long ZCALLBACK fseek_file_func (opaque, stream, offset, origin)
|
long ZCALLBACK fseek_file_func (
|
||||||
voidpf opaque;
|
voidpf opaque,
|
||||||
voidpf stream;
|
voidpf stream,
|
||||||
uLong offset;
|
uLong offset,
|
||||||
int origin;
|
int origin)
|
||||||
{
|
{
|
||||||
int fseek_origin=0;
|
int fseek_origin=0;
|
||||||
long ret;
|
long ret;
|
||||||
@@ -145,26 +145,26 @@ long ZCALLBACK fseek_file_func (opaque, stream, offset, origin)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ZCALLBACK fclose_file_func (opaque, stream)
|
int ZCALLBACK fclose_file_func (
|
||||||
voidpf opaque;
|
voidpf opaque,
|
||||||
voidpf stream;
|
voidpf stream)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
ret = fclose((FILE *)stream);
|
ret = fclose((FILE *)stream);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ZCALLBACK ferror_file_func (opaque, stream)
|
int ZCALLBACK ferror_file_func (
|
||||||
voidpf opaque;
|
voidpf opaque,
|
||||||
voidpf stream;
|
voidpf stream)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
ret = ferror((FILE *)stream);
|
ret = ferror((FILE *)stream);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fill_fopen_filefunc (pzlib_filefunc_def)
|
void fill_fopen_filefunc (
|
||||||
zlib_filefunc_def* pzlib_filefunc_def;
|
zlib_filefunc_def* pzlib_filefunc_def)
|
||||||
{
|
{
|
||||||
pzlib_filefunc_def->zopen_file = fopen_file_func;
|
pzlib_filefunc_def->zopen_file = fopen_file_func;
|
||||||
pzlib_filefunc_def->zread_file = fread_file_func;
|
pzlib_filefunc_def->zread_file = fread_file_func;
|
||||||
|
|||||||
@@ -168,10 +168,7 @@ local int unzlocal_getByte OF((
|
|||||||
voidpf filestream,
|
voidpf filestream,
|
||||||
int *pi));
|
int *pi));
|
||||||
|
|
||||||
local int unzlocal_getByte(pzlib_filefunc_def,filestream,pi)
|
local int unzlocal_getByte(const zlib_filefunc_def* pzlib_filefunc_def,voidpf filestream,int *pi)
|
||||||
const zlib_filefunc_def* pzlib_filefunc_def;
|
|
||||||
voidpf filestream;
|
|
||||||
int *pi;
|
|
||||||
{
|
{
|
||||||
unsigned char c;
|
unsigned char c;
|
||||||
int err = (int)ZREAD(*pzlib_filefunc_def,filestream,&c,1);
|
int err = (int)ZREAD(*pzlib_filefunc_def,filestream,&c,1);
|
||||||
@@ -198,10 +195,7 @@ local int unzlocal_getShort OF((
|
|||||||
voidpf filestream,
|
voidpf filestream,
|
||||||
uLong *pX));
|
uLong *pX));
|
||||||
|
|
||||||
local int unzlocal_getShort (pzlib_filefunc_def,filestream,pX)
|
local int unzlocal_getShort (const zlib_filefunc_def* pzlib_filefunc_def,voidpf filestream,uLong *pX)
|
||||||
const zlib_filefunc_def* pzlib_filefunc_def;
|
|
||||||
voidpf filestream;
|
|
||||||
uLong *pX;
|
|
||||||
{
|
{
|
||||||
uLong x ;
|
uLong x ;
|
||||||
int i;
|
int i;
|
||||||
@@ -226,10 +220,7 @@ local int unzlocal_getLong OF((
|
|||||||
voidpf filestream,
|
voidpf filestream,
|
||||||
uLong *pX));
|
uLong *pX));
|
||||||
|
|
||||||
local int unzlocal_getLong (pzlib_filefunc_def,filestream,pX)
|
local int unzlocal_getLong (const zlib_filefunc_def* pzlib_filefunc_def,voidpf filestream,uLong *pX)
|
||||||
const zlib_filefunc_def* pzlib_filefunc_def;
|
|
||||||
voidpf filestream;
|
|
||||||
uLong *pX;
|
|
||||||
{
|
{
|
||||||
uLong x ;
|
uLong x ;
|
||||||
int i;
|
int i;
|
||||||
@@ -259,9 +250,7 @@ local int unzlocal_getLong (pzlib_filefunc_def,filestream,pX)
|
|||||||
|
|
||||||
|
|
||||||
/* My own strcmpi / strcasecmp */
|
/* My own strcmpi / strcasecmp */
|
||||||
local int strcmpcasenosensitive_internal (fileName1,fileName2)
|
local int strcmpcasenosensitive_internal (const char* fileName1,const char* fileName2)
|
||||||
const char* fileName1;
|
|
||||||
const char* fileName2;
|
|
||||||
{
|
{
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
@@ -302,10 +291,7 @@ local int strcmpcasenosensitive_internal (fileName1,fileName2)
|
|||||||
(like 1 on Unix, 2 on Windows)
|
(like 1 on Unix, 2 on Windows)
|
||||||
|
|
||||||
*/
|
*/
|
||||||
extern int ZEXPORT unzStringFileNameCompare (fileName1,fileName2,iCaseSensitivity)
|
extern int ZEXPORT unzStringFileNameCompare (const char* fileName1,const char* fileName2,int iCaseSensitivity)
|
||||||
const char* fileName1;
|
|
||||||
const char* fileName2;
|
|
||||||
int iCaseSensitivity;
|
|
||||||
{
|
{
|
||||||
if (iCaseSensitivity==0)
|
if (iCaseSensitivity==0)
|
||||||
iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE;
|
iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE;
|
||||||
@@ -328,9 +314,7 @@ local uLong unzlocal_SearchCentralDir OF((
|
|||||||
const zlib_filefunc_def* pzlib_filefunc_def,
|
const zlib_filefunc_def* pzlib_filefunc_def,
|
||||||
voidpf filestream));
|
voidpf filestream));
|
||||||
|
|
||||||
local uLong unzlocal_SearchCentralDir(pzlib_filefunc_def,filestream)
|
local uLong unzlocal_SearchCentralDir(const zlib_filefunc_def* pzlib_filefunc_def,voidpf filestream)
|
||||||
const zlib_filefunc_def* pzlib_filefunc_def;
|
|
||||||
voidpf filestream;
|
|
||||||
{
|
{
|
||||||
unsigned char* buf;
|
unsigned char* buf;
|
||||||
uLong uSizeFile;
|
uLong uSizeFile;
|
||||||
@@ -394,9 +378,7 @@ local uLong unzlocal_SearchCentralDir(pzlib_filefunc_def,filestream)
|
|||||||
Else, the return value is a unzFile Handle, usable with other function
|
Else, the return value is a unzFile Handle, usable with other function
|
||||||
of this unzip package.
|
of this unzip package.
|
||||||
*/
|
*/
|
||||||
extern unzFile ZEXPORT unzOpen2 (path, pzlib_filefunc_def)
|
extern unzFile ZEXPORT unzOpen2 (const char *path, zlib_filefunc_def* pzlib_filefunc_def)
|
||||||
const char *path;
|
|
||||||
zlib_filefunc_def* pzlib_filefunc_def;
|
|
||||||
{
|
{
|
||||||
unz_s us;
|
unz_s us;
|
||||||
unz_s *s;
|
unz_s *s;
|
||||||
@@ -497,8 +479,7 @@ extern unzFile ZEXPORT unzOpen2 (path, pzlib_filefunc_def)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
extern unzFile ZEXPORT unzOpen (path)
|
extern unzFile ZEXPORT unzOpen (const char *path)
|
||||||
const char *path;
|
|
||||||
{
|
{
|
||||||
return unzOpen2(path, NULL);
|
return unzOpen2(path, NULL);
|
||||||
}
|
}
|
||||||
@@ -508,8 +489,7 @@ extern unzFile ZEXPORT unzOpen (path)
|
|||||||
If there is files inside the .Zip opened with unzipOpenCurrentFile (see later),
|
If there is files inside the .Zip opened with unzipOpenCurrentFile (see later),
|
||||||
these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
|
these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
|
||||||
return UNZ_OK if there is no problem. */
|
return UNZ_OK if there is no problem. */
|
||||||
extern int ZEXPORT unzClose (file)
|
extern int ZEXPORT unzClose (unzFile file)
|
||||||
unzFile file;
|
|
||||||
{
|
{
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
if (file==NULL)
|
if (file==NULL)
|
||||||
@@ -529,9 +509,7 @@ extern int ZEXPORT unzClose (file)
|
|||||||
Write info about the ZipFile in the *pglobal_info structure.
|
Write info about the ZipFile in the *pglobal_info structure.
|
||||||
No preparation of the structure is needed
|
No preparation of the structure is needed
|
||||||
return UNZ_OK if there is no problem. */
|
return UNZ_OK if there is no problem. */
|
||||||
extern int ZEXPORT unzGetGlobalInfo (file,pglobal_info)
|
extern int ZEXPORT unzGetGlobalInfo (unzFile file,unz_global_info *pglobal_info)
|
||||||
unzFile file;
|
|
||||||
unz_global_info *pglobal_info;
|
|
||||||
{
|
{
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
if (file==NULL)
|
if (file==NULL)
|
||||||
@@ -545,9 +523,7 @@ extern int ZEXPORT unzGetGlobalInfo (file,pglobal_info)
|
|||||||
/*
|
/*
|
||||||
Translate date/time from Dos format to tm_unz (readable more easilty)
|
Translate date/time from Dos format to tm_unz (readable more easilty)
|
||||||
*/
|
*/
|
||||||
local void unzlocal_DosDateToTmuDate (ulDosDate, ptm)
|
local void unzlocal_DosDateToTmuDate (uLong ulDosDate, tm_unz* ptm)
|
||||||
uLong ulDosDate;
|
|
||||||
tm_unz* ptm;
|
|
||||||
{
|
{
|
||||||
uLong uDate;
|
uLong uDate;
|
||||||
uDate = (uLong)(ulDosDate>>16);
|
uDate = (uLong)(ulDosDate>>16);
|
||||||
@@ -574,21 +550,16 @@ local int unzlocal_GetCurrentFileInfoInternal OF((unzFile file,
|
|||||||
char *szComment,
|
char *szComment,
|
||||||
uLong commentBufferSize));
|
uLong commentBufferSize));
|
||||||
|
|
||||||
local int unzlocal_GetCurrentFileInfoInternal (file,
|
local int unzlocal_GetCurrentFileInfoInternal (
|
||||||
pfile_info,
|
unzFile file,
|
||||||
pfile_info_internal,
|
unz_file_info *pfile_info,
|
||||||
szFileName, fileNameBufferSize,
|
unz_file_info_internal *pfile_info_internal,
|
||||||
extraField, extraFieldBufferSize,
|
char *szFileName,
|
||||||
szComment, commentBufferSize)
|
uLong fileNameBufferSize,
|
||||||
unzFile file;
|
void *extraField,
|
||||||
unz_file_info *pfile_info;
|
uLong extraFieldBufferSize,
|
||||||
unz_file_info_internal *pfile_info_internal;
|
char *szComment,
|
||||||
char *szFileName;
|
uLong commentBufferSize)
|
||||||
uLong fileNameBufferSize;
|
|
||||||
void *extraField;
|
|
||||||
uLong extraFieldBufferSize;
|
|
||||||
char *szComment;
|
|
||||||
uLong commentBufferSize;
|
|
||||||
{
|
{
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
unz_file_info file_info;
|
unz_file_info file_info;
|
||||||
@@ -746,19 +717,15 @@ local int unzlocal_GetCurrentFileInfoInternal (file,
|
|||||||
No preparation of the structure is needed
|
No preparation of the structure is needed
|
||||||
return UNZ_OK if there is no problem.
|
return UNZ_OK if there is no problem.
|
||||||
*/
|
*/
|
||||||
extern int ZEXPORT unzGetCurrentFileInfo (file,
|
extern int ZEXPORT unzGetCurrentFileInfo (
|
||||||
pfile_info,
|
unzFile file,
|
||||||
szFileName, fileNameBufferSize,
|
unz_file_info *pfile_info,
|
||||||
extraField, extraFieldBufferSize,
|
char *szFileName,
|
||||||
szComment, commentBufferSize)
|
uLong fileNameBufferSize,
|
||||||
unzFile file;
|
void *extraField,
|
||||||
unz_file_info *pfile_info;
|
uLong extraFieldBufferSize,
|
||||||
char *szFileName;
|
char *szComment,
|
||||||
uLong fileNameBufferSize;
|
uLong commentBufferSize)
|
||||||
void *extraField;
|
|
||||||
uLong extraFieldBufferSize;
|
|
||||||
char *szComment;
|
|
||||||
uLong commentBufferSize;
|
|
||||||
{
|
{
|
||||||
return unzlocal_GetCurrentFileInfoInternal(file,pfile_info,NULL,
|
return unzlocal_GetCurrentFileInfoInternal(file,pfile_info,NULL,
|
||||||
szFileName,fileNameBufferSize,
|
szFileName,fileNameBufferSize,
|
||||||
@@ -770,8 +737,7 @@ extern int ZEXPORT unzGetCurrentFileInfo (file,
|
|||||||
Set the current file of the zipfile to the first file.
|
Set the current file of the zipfile to the first file.
|
||||||
return UNZ_OK if there is no problem
|
return UNZ_OK if there is no problem
|
||||||
*/
|
*/
|
||||||
extern int ZEXPORT unzGoToFirstFile (file)
|
extern int ZEXPORT unzGoToFirstFile (unzFile file)
|
||||||
unzFile file;
|
|
||||||
{
|
{
|
||||||
int err=UNZ_OK;
|
int err=UNZ_OK;
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
@@ -792,8 +758,7 @@ extern int ZEXPORT unzGoToFirstFile (file)
|
|||||||
return UNZ_OK if there is no problem
|
return UNZ_OK if there is no problem
|
||||||
return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
|
return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
|
||||||
*/
|
*/
|
||||||
extern int ZEXPORT unzGoToNextFile (file)
|
extern int ZEXPORT unzGoToNextFile (unzFile file)
|
||||||
unzFile file;
|
|
||||||
{
|
{
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
int err;
|
int err;
|
||||||
@@ -826,10 +791,7 @@ extern int ZEXPORT unzGoToNextFile (file)
|
|||||||
UNZ_OK if the file is found. It becomes the current file.
|
UNZ_OK if the file is found. It becomes the current file.
|
||||||
UNZ_END_OF_LIST_OF_FILE if the file is not found
|
UNZ_END_OF_LIST_OF_FILE if the file is not found
|
||||||
*/
|
*/
|
||||||
extern int ZEXPORT unzLocateFile (file, szFileName, iCaseSensitivity)
|
extern int ZEXPORT unzLocateFile (unzFile file, const char *szFileName, int iCaseSensitivity)
|
||||||
unzFile file;
|
|
||||||
const char *szFileName;
|
|
||||||
int iCaseSensitivity;
|
|
||||||
{
|
{
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
int err;
|
int err;
|
||||||
@@ -905,9 +867,7 @@ typedef struct unz_file_pos_s
|
|||||||
} unz_file_pos;
|
} unz_file_pos;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern int ZEXPORT unzGetFilePos(file, file_pos)
|
extern int ZEXPORT unzGetFilePos(unzFile file, unz_file_pos* file_pos)
|
||||||
unzFile file;
|
|
||||||
unz_file_pos* file_pos;
|
|
||||||
{
|
{
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
|
|
||||||
@@ -923,9 +883,7 @@ extern int ZEXPORT unzGetFilePos(file, file_pos)
|
|||||||
return UNZ_OK;
|
return UNZ_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int ZEXPORT unzGoToFilePos(file, file_pos)
|
extern int ZEXPORT unzGoToFilePos(unzFile file, unz_file_pos*file_pos)
|
||||||
unzFile file;
|
|
||||||
unz_file_pos* file_pos;
|
|
||||||
{
|
{
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
int err;
|
int err;
|
||||||
@@ -959,13 +917,11 @@ extern int ZEXPORT unzGoToFilePos(file, file_pos)
|
|||||||
store in *piSizeVar the size of extra info in local header
|
store in *piSizeVar the size of extra info in local header
|
||||||
(filename and size of extra field data)
|
(filename and size of extra field data)
|
||||||
*/
|
*/
|
||||||
local int unzlocal_CheckCurrentFileCoherencyHeader (s,piSizeVar,
|
local int unzlocal_CheckCurrentFileCoherencyHeader (
|
||||||
poffset_local_extrafield,
|
unz_s* s,
|
||||||
psize_local_extrafield)
|
uInt* piSizeVar,
|
||||||
unz_s* s;
|
uLong *poffset_local_extrafield,
|
||||||
uInt* piSizeVar;
|
uInt *psize_local_extrafield)
|
||||||
uLong *poffset_local_extrafield;
|
|
||||||
uInt *psize_local_extrafield;
|
|
||||||
{
|
{
|
||||||
uLong uMagic,uData,uFlags;
|
uLong uMagic,uData,uFlags;
|
||||||
uLong size_filename;
|
uLong size_filename;
|
||||||
@@ -1050,12 +1006,12 @@ local int unzlocal_CheckCurrentFileCoherencyHeader (s,piSizeVar,
|
|||||||
Open for reading data the current file in the zipfile.
|
Open for reading data the current file in the zipfile.
|
||||||
If there is no error and the file is opened, the return value is UNZ_OK.
|
If there is no error and the file is opened, the return value is UNZ_OK.
|
||||||
*/
|
*/
|
||||||
extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password)
|
extern int ZEXPORT unzOpenCurrentFile3 (
|
||||||
unzFile file;
|
unzFile file,
|
||||||
int* method;
|
int* method,
|
||||||
int* level;
|
int* level,
|
||||||
int raw;
|
int raw,
|
||||||
const char* password;
|
const char* password)
|
||||||
{
|
{
|
||||||
int err=UNZ_OK;
|
int err=UNZ_OK;
|
||||||
uInt iSizeVar;
|
uInt iSizeVar;
|
||||||
@@ -1136,7 +1092,7 @@ extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password)
|
|||||||
pfile_in_zip_read_info->stream.zalloc = (alloc_func)0;
|
pfile_in_zip_read_info->stream.zalloc = (alloc_func)0;
|
||||||
pfile_in_zip_read_info->stream.zfree = (free_func)0;
|
pfile_in_zip_read_info->stream.zfree = (free_func)0;
|
||||||
pfile_in_zip_read_info->stream.opaque = (voidpf)0;
|
pfile_in_zip_read_info->stream.opaque = (voidpf)0;
|
||||||
pfile_in_zip_read_info->stream.next_in = (voidpf)0;
|
pfile_in_zip_read_info->stream.next_in = (Bytef*)0;
|
||||||
pfile_in_zip_read_info->stream.avail_in = 0;
|
pfile_in_zip_read_info->stream.avail_in = 0;
|
||||||
|
|
||||||
err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS);
|
err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS);
|
||||||
@@ -1195,24 +1151,21 @@ extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password)
|
|||||||
return UNZ_OK;
|
return UNZ_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int ZEXPORT unzOpenCurrentFile (file)
|
extern int ZEXPORT unzOpenCurrentFile (unzFile file)
|
||||||
unzFile file;
|
|
||||||
{
|
{
|
||||||
return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL);
|
return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int ZEXPORT unzOpenCurrentFilePassword (file, password)
|
extern int ZEXPORT unzOpenCurrentFilePassword (unzFile file, const char* password)
|
||||||
unzFile file;
|
|
||||||
const char* password;
|
|
||||||
{
|
{
|
||||||
return unzOpenCurrentFile3(file, NULL, NULL, 0, password);
|
return unzOpenCurrentFile3(file, NULL, NULL, 0, password);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int ZEXPORT unzOpenCurrentFile2 (file,method,level,raw)
|
extern int ZEXPORT unzOpenCurrentFile2 (
|
||||||
unzFile file;
|
unzFile file,
|
||||||
int* method;
|
int* method,
|
||||||
int* level;
|
int* level,
|
||||||
int raw;
|
int raw)
|
||||||
{
|
{
|
||||||
return unzOpenCurrentFile3(file, method, level, raw, NULL);
|
return unzOpenCurrentFile3(file, method, level, raw, NULL);
|
||||||
}
|
}
|
||||||
@@ -1227,10 +1180,10 @@ extern int ZEXPORT unzOpenCurrentFile2 (file,method,level,raw)
|
|||||||
return <0 with error code if there is an error
|
return <0 with error code if there is an error
|
||||||
(UNZ_ERRNO for IO error, or zLib error for uncompress error)
|
(UNZ_ERRNO for IO error, or zLib error for uncompress error)
|
||||||
*/
|
*/
|
||||||
extern int ZEXPORT unzReadCurrentFile (file, buf, len)
|
extern int ZEXPORT unzReadCurrentFile(
|
||||||
unzFile file;
|
unzFile file,
|
||||||
voidp buf;
|
voidp buf,
|
||||||
unsigned len;
|
unsigned len)
|
||||||
{
|
{
|
||||||
int err=UNZ_OK;
|
int err=UNZ_OK;
|
||||||
uInt iRead = 0;
|
uInt iRead = 0;
|
||||||
@@ -1388,8 +1341,7 @@ extern int ZEXPORT unzReadCurrentFile (file, buf, len)
|
|||||||
/*
|
/*
|
||||||
Give the current position in uncompressed data
|
Give the current position in uncompressed data
|
||||||
*/
|
*/
|
||||||
extern z_off_t ZEXPORT unztell (file)
|
extern z_off_t ZEXPORT unztell (unzFile file)
|
||||||
unzFile file;
|
|
||||||
{
|
{
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
file_in_zip_read_info_s* pfile_in_zip_read_info;
|
file_in_zip_read_info_s* pfile_in_zip_read_info;
|
||||||
@@ -1408,8 +1360,7 @@ extern z_off_t ZEXPORT unztell (file)
|
|||||||
/*
|
/*
|
||||||
return 1 if the end of file was reached, 0 elsewhere
|
return 1 if the end of file was reached, 0 elsewhere
|
||||||
*/
|
*/
|
||||||
extern int ZEXPORT unzeof (file)
|
extern int ZEXPORT unzeof (unzFile file)
|
||||||
unzFile file;
|
|
||||||
{
|
{
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
file_in_zip_read_info_s* pfile_in_zip_read_info;
|
file_in_zip_read_info_s* pfile_in_zip_read_info;
|
||||||
@@ -1441,10 +1392,10 @@ extern int ZEXPORT unzeof (file)
|
|||||||
the return value is the number of bytes copied in buf, or (if <0)
|
the return value is the number of bytes copied in buf, or (if <0)
|
||||||
the error code
|
the error code
|
||||||
*/
|
*/
|
||||||
extern int ZEXPORT unzGetLocalExtrafield (file,buf,len)
|
extern int ZEXPORT unzGetLocalExtrafield (
|
||||||
unzFile file;
|
unzFile file,
|
||||||
voidp buf;
|
voidp buf,
|
||||||
unsigned len;
|
unsigned len)
|
||||||
{
|
{
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
file_in_zip_read_info_s* pfile_in_zip_read_info;
|
file_in_zip_read_info_s* pfile_in_zip_read_info;
|
||||||
@@ -1492,8 +1443,7 @@ extern int ZEXPORT unzGetLocalExtrafield (file,buf,len)
|
|||||||
Close the file in zip opened with unzipOpenCurrentFile
|
Close the file in zip opened with unzipOpenCurrentFile
|
||||||
Return UNZ_CRCERROR if all the file was read but the CRC is not good
|
Return UNZ_CRCERROR if all the file was read but the CRC is not good
|
||||||
*/
|
*/
|
||||||
extern int ZEXPORT unzCloseCurrentFile (file)
|
extern int ZEXPORT unzCloseCurrentFile (unzFile file)
|
||||||
unzFile file;
|
|
||||||
{
|
{
|
||||||
int err=UNZ_OK;
|
int err=UNZ_OK;
|
||||||
|
|
||||||
@@ -1535,12 +1485,11 @@ extern int ZEXPORT unzCloseCurrentFile (file)
|
|||||||
uSizeBuf is the size of the szComment buffer.
|
uSizeBuf is the size of the szComment buffer.
|
||||||
return the number of byte copied or an error code <0
|
return the number of byte copied or an error code <0
|
||||||
*/
|
*/
|
||||||
extern int ZEXPORT unzGetGlobalComment (file, szComment, uSizeBuf)
|
extern int ZEXPORT unzGetGlobalComment (
|
||||||
unzFile file;
|
unzFile file,
|
||||||
char *szComment;
|
char *szComment,
|
||||||
uLong uSizeBuf;
|
uLong uSizeBuf)
|
||||||
{
|
{
|
||||||
int err=UNZ_OK;
|
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
uLong uReadThis ;
|
uLong uReadThis ;
|
||||||
if (file==NULL)
|
if (file==NULL)
|
||||||
@@ -1567,8 +1516,7 @@ extern int ZEXPORT unzGetGlobalComment (file, szComment, uSizeBuf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Additions by RX '2004 */
|
/* Additions by RX '2004 */
|
||||||
extern uLong ZEXPORT unzGetOffset (file)
|
extern uLong ZEXPORT unzGetOffset (unzFile file)
|
||||||
unzFile file;
|
|
||||||
{
|
{
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
|
|
||||||
@@ -1583,9 +1531,9 @@ extern uLong ZEXPORT unzGetOffset (file)
|
|||||||
return s->pos_in_central_dir;
|
return s->pos_in_central_dir;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int ZEXPORT unzSetOffset (file, pos)
|
extern int ZEXPORT unzSetOffset (
|
||||||
unzFile file;
|
unzFile file,
|
||||||
uLong pos;
|
uLong pos)
|
||||||
{
|
{
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
int err;
|
int err;
|
||||||
|
|||||||
@@ -172,8 +172,7 @@ local linkedlist_datablock_internal* allocate_new_datablock()
|
|||||||
return ldi;
|
return ldi;
|
||||||
}
|
}
|
||||||
|
|
||||||
local void free_datablock(ldi)
|
local void free_datablock(linkedlist_datablock_internal* ldi)
|
||||||
linkedlist_datablock_internal* ldi;
|
|
||||||
{
|
{
|
||||||
while (ldi!=NULL)
|
while (ldi!=NULL)
|
||||||
{
|
{
|
||||||
@@ -183,24 +182,24 @@ local void free_datablock(ldi)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
local void init_linkedlist(ll)
|
local void init_linkedlist(
|
||||||
linkedlist_data* ll;
|
linkedlist_data* ll)
|
||||||
{
|
{
|
||||||
ll->first_block = ll->last_block = NULL;
|
ll->first_block = ll->last_block = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
local void free_linkedlist(ll)
|
local void free_linkedlist(
|
||||||
linkedlist_data* ll;
|
linkedlist_data* ll)
|
||||||
{
|
{
|
||||||
free_datablock(ll->first_block);
|
free_datablock(ll->first_block);
|
||||||
ll->first_block = ll->last_block = NULL;
|
ll->first_block = ll->last_block = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
local int add_data_in_datablock(ll,buf,len)
|
local int add_data_in_datablock(
|
||||||
linkedlist_data* ll;
|
linkedlist_data* ll,
|
||||||
const void* buf;
|
const void* buf,
|
||||||
uLong len;
|
uLong len)
|
||||||
{
|
{
|
||||||
linkedlist_datablock_internal* ldi;
|
linkedlist_datablock_internal* ldi;
|
||||||
const unsigned char* from_copy;
|
const unsigned char* from_copy;
|
||||||
@@ -263,11 +262,11 @@ local int add_data_in_datablock(ll,buf,len)
|
|||||||
|
|
||||||
local int ziplocal_putValue OF((const zlib_filefunc_def* pzlib_filefunc_def,
|
local int ziplocal_putValue OF((const zlib_filefunc_def* pzlib_filefunc_def,
|
||||||
voidpf filestream, uLong x, int nbByte));
|
voidpf filestream, uLong x, int nbByte));
|
||||||
local int ziplocal_putValue (pzlib_filefunc_def, filestream, x, nbByte)
|
local int ziplocal_putValue (
|
||||||
const zlib_filefunc_def* pzlib_filefunc_def;
|
const zlib_filefunc_def* pzlib_filefunc_def,
|
||||||
voidpf filestream;
|
voidpf filestream,
|
||||||
uLong x;
|
uLong x,
|
||||||
int nbByte;
|
int nbByte)
|
||||||
{
|
{
|
||||||
unsigned char buf[4];
|
unsigned char buf[4];
|
||||||
int n;
|
int n;
|
||||||
@@ -291,10 +290,10 @@ local int ziplocal_putValue (pzlib_filefunc_def, filestream, x, nbByte)
|
|||||||
}
|
}
|
||||||
|
|
||||||
local void ziplocal_putValue_inmemory OF((void* dest, uLong x, int nbByte));
|
local void ziplocal_putValue_inmemory OF((void* dest, uLong x, int nbByte));
|
||||||
local void ziplocal_putValue_inmemory (dest, x, nbByte)
|
local void ziplocal_putValue_inmemory (
|
||||||
void* dest;
|
void* dest,
|
||||||
uLong x;
|
uLong x,
|
||||||
int nbByte;
|
int nbByte)
|
||||||
{
|
{
|
||||||
unsigned char* buf=(unsigned char*)dest;
|
unsigned char* buf=(unsigned char*)dest;
|
||||||
int n;
|
int n;
|
||||||
@@ -315,9 +314,9 @@ local void ziplocal_putValue_inmemory (dest, x, nbByte)
|
|||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
local uLong ziplocal_TmzDateToDosDate(ptm,dosDate)
|
local uLong ziplocal_TmzDateToDosDate(
|
||||||
const tm_zip* ptm;
|
const tm_zip* ptm,
|
||||||
uLong dosDate;
|
uLong dosDate)
|
||||||
{
|
{
|
||||||
uLong year = (uLong)ptm->tm_year;
|
uLong year = (uLong)ptm->tm_year;
|
||||||
if (year>1980)
|
if (year>1980)
|
||||||
@@ -337,10 +336,10 @@ local int ziplocal_getByte OF((
|
|||||||
voidpf filestream,
|
voidpf filestream,
|
||||||
int *pi));
|
int *pi));
|
||||||
|
|
||||||
local int ziplocal_getByte(pzlib_filefunc_def,filestream,pi)
|
local int ziplocal_getByte(
|
||||||
const zlib_filefunc_def* pzlib_filefunc_def;
|
const zlib_filefunc_def* pzlib_filefunc_def,
|
||||||
voidpf filestream;
|
voidpf filestream,
|
||||||
int *pi;
|
int *pi)
|
||||||
{
|
{
|
||||||
unsigned char c;
|
unsigned char c;
|
||||||
int err = (int)ZREAD(*pzlib_filefunc_def,filestream,&c,1);
|
int err = (int)ZREAD(*pzlib_filefunc_def,filestream,&c,1);
|
||||||
@@ -367,10 +366,10 @@ local int ziplocal_getShort OF((
|
|||||||
voidpf filestream,
|
voidpf filestream,
|
||||||
uLong *pX));
|
uLong *pX));
|
||||||
|
|
||||||
local int ziplocal_getShort (pzlib_filefunc_def,filestream,pX)
|
local int ziplocal_getShort (
|
||||||
const zlib_filefunc_def* pzlib_filefunc_def;
|
const zlib_filefunc_def* pzlib_filefunc_def,
|
||||||
voidpf filestream;
|
voidpf filestream,
|
||||||
uLong *pX;
|
uLong *pX)
|
||||||
{
|
{
|
||||||
uLong x ;
|
uLong x ;
|
||||||
int i;
|
int i;
|
||||||
@@ -395,10 +394,10 @@ local int ziplocal_getLong OF((
|
|||||||
voidpf filestream,
|
voidpf filestream,
|
||||||
uLong *pX));
|
uLong *pX));
|
||||||
|
|
||||||
local int ziplocal_getLong (pzlib_filefunc_def,filestream,pX)
|
local int ziplocal_getLong (
|
||||||
const zlib_filefunc_def* pzlib_filefunc_def;
|
const zlib_filefunc_def* pzlib_filefunc_def,
|
||||||
voidpf filestream;
|
voidpf filestream,
|
||||||
uLong *pX;
|
uLong *pX)
|
||||||
{
|
{
|
||||||
uLong x ;
|
uLong x ;
|
||||||
int i;
|
int i;
|
||||||
@@ -437,9 +436,9 @@ local uLong ziplocal_SearchCentralDir OF((
|
|||||||
const zlib_filefunc_def* pzlib_filefunc_def,
|
const zlib_filefunc_def* pzlib_filefunc_def,
|
||||||
voidpf filestream));
|
voidpf filestream));
|
||||||
|
|
||||||
local uLong ziplocal_SearchCentralDir(pzlib_filefunc_def,filestream)
|
local uLong ziplocal_SearchCentralDir(
|
||||||
const zlib_filefunc_def* pzlib_filefunc_def;
|
const zlib_filefunc_def* pzlib_filefunc_def,
|
||||||
voidpf filestream;
|
voidpf filestream)
|
||||||
{
|
{
|
||||||
unsigned char* buf;
|
unsigned char* buf;
|
||||||
uLong uSizeFile;
|
uLong uSizeFile;
|
||||||
@@ -496,11 +495,11 @@ local uLong ziplocal_SearchCentralDir(pzlib_filefunc_def,filestream)
|
|||||||
#endif /* !NO_ADDFILEINEXISTINGZIP*/
|
#endif /* !NO_ADDFILEINEXISTINGZIP*/
|
||||||
|
|
||||||
/************************************************************/
|
/************************************************************/
|
||||||
extern zipFile ZEXPORT zipOpen2 (pathname, append, globalcomment, pzlib_filefunc_def)
|
extern zipFile ZEXPORT zipOpen2 (
|
||||||
const char *pathname;
|
const char *pathname,
|
||||||
int append;
|
int append,
|
||||||
zipcharpc* globalcomment;
|
zipcharpc* globalcomment,
|
||||||
zlib_filefunc_def* pzlib_filefunc_def;
|
zlib_filefunc_def* pzlib_filefunc_def)
|
||||||
{
|
{
|
||||||
zip_internal ziinit;
|
zip_internal ziinit;
|
||||||
zip_internal* zi;
|
zip_internal* zi;
|
||||||
@@ -615,7 +614,7 @@ extern zipFile ZEXPORT zipOpen2 (pathname, append, globalcomment, pzlib_filefunc
|
|||||||
|
|
||||||
if (size_comment>0)
|
if (size_comment>0)
|
||||||
{
|
{
|
||||||
ziinit.globalcomment = ALLOC(size_comment+1);
|
ziinit.globalcomment = (char*)ALLOC(size_comment+1);
|
||||||
if (ziinit.globalcomment)
|
if (ziinit.globalcomment)
|
||||||
{
|
{
|
||||||
size_comment = ZREAD(ziinit.z_filefunc, ziinit.filestream,ziinit.globalcomment,size_comment);
|
size_comment = ZREAD(ziinit.z_filefunc, ziinit.filestream,ziinit.globalcomment,size_comment);
|
||||||
@@ -680,35 +679,30 @@ extern zipFile ZEXPORT zipOpen2 (pathname, append, globalcomment, pzlib_filefunc
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extern zipFile ZEXPORT zipOpen (pathname, append)
|
extern zipFile ZEXPORT zipOpen (
|
||||||
const char *pathname;
|
const char *pathname,
|
||||||
int append;
|
int append)
|
||||||
{
|
{
|
||||||
return zipOpen2(pathname,append,NULL,NULL);
|
return zipOpen2(pathname,append,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi,
|
extern int ZEXPORT zipOpenNewFileInZip3 (
|
||||||
extrafield_local, size_extrafield_local,
|
zipFile file,
|
||||||
extrafield_global, size_extrafield_global,
|
const char* filename,
|
||||||
comment, method, level, raw,
|
const zip_fileinfo* zipfi,
|
||||||
windowBits, memLevel, strategy,
|
const void* extrafield_local,
|
||||||
password, crcForCrypting)
|
uInt size_extrafield_local,
|
||||||
zipFile file;
|
const void* extrafield_global,
|
||||||
const char* filename;
|
uInt size_extrafield_global,
|
||||||
const zip_fileinfo* zipfi;
|
const char* comment,
|
||||||
const void* extrafield_local;
|
int method,
|
||||||
uInt size_extrafield_local;
|
int level,
|
||||||
const void* extrafield_global;
|
int raw,
|
||||||
uInt size_extrafield_global;
|
int windowBits,
|
||||||
const char* comment;
|
int memLevel,
|
||||||
int method;
|
int strategy,
|
||||||
int level;
|
const char* password,
|
||||||
int raw;
|
uLong crcForCrypting)
|
||||||
int windowBits;
|
|
||||||
int memLevel;
|
|
||||||
int strategy;
|
|
||||||
const char* password;
|
|
||||||
uLong crcForCrypting;
|
|
||||||
{
|
{
|
||||||
zip_internal* zi;
|
zip_internal* zi;
|
||||||
uInt size_filename;
|
uInt size_filename;
|
||||||
@@ -896,21 +890,18 @@ extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi,
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int ZEXPORT zipOpenNewFileInZip2(file, filename, zipfi,
|
extern int ZEXPORT zipOpenNewFileInZip2(
|
||||||
extrafield_local, size_extrafield_local,
|
zipFile file,
|
||||||
extrafield_global, size_extrafield_global,
|
const char* filename,
|
||||||
comment, method, level, raw)
|
const zip_fileinfo* zipfi,
|
||||||
zipFile file;
|
const void* extrafield_local,
|
||||||
const char* filename;
|
uInt size_extrafield_local,
|
||||||
const zip_fileinfo* zipfi;
|
const void* extrafield_global,
|
||||||
const void* extrafield_local;
|
uInt size_extrafield_global,
|
||||||
uInt size_extrafield_local;
|
const char* comment,
|
||||||
const void* extrafield_global;
|
int method,
|
||||||
uInt size_extrafield_global;
|
int level,
|
||||||
const char* comment;
|
int raw)
|
||||||
int method;
|
|
||||||
int level;
|
|
||||||
int raw;
|
|
||||||
{
|
{
|
||||||
return zipOpenNewFileInZip3 (file, filename, zipfi,
|
return zipOpenNewFileInZip3 (file, filename, zipfi,
|
||||||
extrafield_local, size_extrafield_local,
|
extrafield_local, size_extrafield_local,
|
||||||
@@ -920,20 +911,17 @@ extern int ZEXPORT zipOpenNewFileInZip2(file, filename, zipfi,
|
|||||||
NULL, 0);
|
NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int ZEXPORT zipOpenNewFileInZip (file, filename, zipfi,
|
extern int ZEXPORT zipOpenNewFileInZip (
|
||||||
extrafield_local, size_extrafield_local,
|
zipFile file,
|
||||||
extrafield_global, size_extrafield_global,
|
const char* filename,
|
||||||
comment, method, level)
|
const zip_fileinfo* zipfi,
|
||||||
zipFile file;
|
const void* extrafield_local,
|
||||||
const char* filename;
|
uInt size_extrafield_local,
|
||||||
const zip_fileinfo* zipfi;
|
const void* extrafield_global,
|
||||||
const void* extrafield_local;
|
uInt size_extrafield_global,
|
||||||
uInt size_extrafield_local;
|
const char* comment,
|
||||||
const void* extrafield_global;
|
int method,
|
||||||
uInt size_extrafield_global;
|
int level)
|
||||||
const char* comment;
|
|
||||||
int method;
|
|
||||||
int level;
|
|
||||||
{
|
{
|
||||||
return zipOpenNewFileInZip2 (file, filename, zipfi,
|
return zipOpenNewFileInZip2 (file, filename, zipfi,
|
||||||
extrafield_local, size_extrafield_local,
|
extrafield_local, size_extrafield_local,
|
||||||
@@ -941,8 +929,8 @@ extern int ZEXPORT zipOpenNewFileInZip (file, filename, zipfi,
|
|||||||
comment, method, level, 0);
|
comment, method, level, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
local int zipFlushWriteBuffer(zi)
|
local int zipFlushWriteBuffer(
|
||||||
zip_internal* zi;
|
zip_internal* zi)
|
||||||
{
|
{
|
||||||
int err=ZIP_OK;
|
int err=ZIP_OK;
|
||||||
|
|
||||||
@@ -963,10 +951,10 @@ local int zipFlushWriteBuffer(zi)
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int ZEXPORT zipWriteInFileInZip (file, buf, len)
|
extern int ZEXPORT zipWriteInFileInZip (
|
||||||
zipFile file;
|
zipFile file,
|
||||||
const void* buf;
|
const void* buf,
|
||||||
unsigned len;
|
unsigned len)
|
||||||
{
|
{
|
||||||
zip_internal* zi;
|
zip_internal* zi;
|
||||||
int err=ZIP_OK;
|
int err=ZIP_OK;
|
||||||
@@ -978,9 +966,9 @@ extern int ZEXPORT zipWriteInFileInZip (file, buf, len)
|
|||||||
if (zi->in_opened_file_inzip == 0)
|
if (zi->in_opened_file_inzip == 0)
|
||||||
return ZIP_PARAMERROR;
|
return ZIP_PARAMERROR;
|
||||||
|
|
||||||
zi->ci.stream.next_in = (void*)buf;
|
zi->ci.stream.next_in = (Bytef*)buf;
|
||||||
zi->ci.stream.avail_in = len;
|
zi->ci.stream.avail_in = len;
|
||||||
zi->ci.crc32 = crc32(zi->ci.crc32,buf,len);
|
zi->ci.crc32 = crc32(zi->ci.crc32,(const Bytef*)buf,len);
|
||||||
|
|
||||||
while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0))
|
while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0))
|
||||||
{
|
{
|
||||||
@@ -1028,10 +1016,10 @@ extern int ZEXPORT zipWriteInFileInZip (file, buf, len)
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int ZEXPORT zipCloseFileInZipRaw (file, uncompressed_size, crc32)
|
extern int ZEXPORT zipCloseFileInZipRaw (
|
||||||
zipFile file;
|
zipFile file,
|
||||||
uLong uncompressed_size;
|
uLong uncompressed_size,
|
||||||
uLong crc32;
|
uLong crc32)
|
||||||
{
|
{
|
||||||
zip_internal* zi;
|
zip_internal* zi;
|
||||||
uLong compressed_size;
|
uLong compressed_size;
|
||||||
@@ -1124,15 +1112,15 @@ extern int ZEXPORT zipCloseFileInZipRaw (file, uncompressed_size, crc32)
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int ZEXPORT zipCloseFileInZip (file)
|
extern int ZEXPORT zipCloseFileInZip (
|
||||||
zipFile file;
|
zipFile file)
|
||||||
{
|
{
|
||||||
return zipCloseFileInZipRaw (file,0,0);
|
return zipCloseFileInZipRaw (file,0,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int ZEXPORT zipClose (file, global_comment)
|
extern int ZEXPORT zipClose (
|
||||||
zipFile file;
|
zipFile file,
|
||||||
const char* global_comment;
|
const char* global_comment)
|
||||||
{
|
{
|
||||||
zip_internal* zi;
|
zip_internal* zi;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ filesystem * filesystem::pCurrentFS = NULL;
|
|||||||
std::vector<filesystem::pooledBuffer *> filesystem::m_Buffers;
|
std::vector<filesystem::pooledBuffer *> filesystem::m_Buffers;
|
||||||
|
|
||||||
static const int STORED = 0;
|
static const int STORED = 0;
|
||||||
static const int DEFLATED = 8;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
// Construction/Destruction
|
// Construction/Destruction
|
||||||
@@ -632,8 +631,8 @@ streamoff filesystem::CentralDirZipped(std::istream & File, std::streamoff begin
|
|||||||
std::streamoff eof = begin + size;
|
std::streamoff eof = begin + size;
|
||||||
|
|
||||||
// Look for the "end of central dir" header. Start minimum 22 bytes before end.
|
// Look for the "end of central dir" header. Start minimum 22 bytes before end.
|
||||||
if (! File.seekg(eof - 22, ios::beg))
|
if (! File.seekg(eof - 22, ios::beg))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
streamoff EndPos;
|
streamoff EndPos;
|
||||||
streamoff StartPos = File.tellg();
|
streamoff StartPos = File.tellg();
|
||||||
|
|||||||
@@ -258,8 +258,8 @@ inline void izfstream::open(const char * FilePath, filesystem * pFS) {
|
|||||||
if (pFS)
|
if (pFS)
|
||||||
m_pFS = pFS;
|
m_pFS = pFS;
|
||||||
|
|
||||||
if (m_pFS != NULL)
|
if (m_pFS != NULL)
|
||||||
m_pFS->Open(* this, FilePath);
|
m_pFS->Open(* this, FilePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void izfstream::close() {
|
inline void izfstream::close() {
|
||||||
|
|||||||
@@ -76,8 +76,8 @@ bool zbuffer::use(std::streamoff Offset, std::streamoff Size)
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
//Don't use a buffer already used;
|
//Don't use a buffer already used;
|
||||||
if (m_Used)
|
if (m_Used)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// adjust file position
|
// adjust file position
|
||||||
if (! m_ZipFile.seekg(Offset, ios::beg))
|
if (! m_ZipFile.seekg(Offset, ios::beg))
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#Wagic the Homebrew
|
#Wagic the Homebrew
|
||||||
|
|
||||||
|
|
||||||
[](https://travis-ci.org/WagicProject/wagic)
|
[](https://travis-ci.com/WagicProject/wagic)
|
||||||
[](https://ci.appveyor.com/project/xawotihs/wagic/branch/master)
|
[](https://ci.appveyor.com/project/xawotihs/wagic/branch/master)
|
||||||
[](https://coveralls.io/r/WagicProject/wagic?branch=master)
|
[](https://coveralls.io/r/WagicProject/wagic?branch=master)
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ It is highly customizable and allows the player to tweak the rules / create thei
|
|||||||
|
|
||||||
Info, downloads, discussions and more at http://wololo.net/forum/index.php
|
Info, downloads, discussions and more at http://wololo.net/forum/index.php
|
||||||
|
|
||||||
-
|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ environment:
|
|||||||
|
|
||||||
# scripts that run after cloning repository
|
# scripts that run after cloning repository
|
||||||
install:
|
install:
|
||||||
- ps: (new-object net.webclient).DownloadFile('https://raw.github.com/pypa/pip/master/contrib/get-pip.py', 'C:/get-pip.py')
|
- ps: (new-object net.webclient).DownloadFile('https://bootstrap.pypa.io/get-pip.py', 'C:/get-pip.py')
|
||||||
- "C:/Python27/python.exe C:/get-pip.py"
|
- "C:/Python27/python.exe C:/get-pip.py"
|
||||||
- "C:/Python27/Scripts/pip.exe install pyjavaproperties"
|
- "C:/Python27/Scripts/pip.exe install pyjavaproperties"
|
||||||
- "C:/Python27/Scripts/pip.exe install github3.py"
|
- "C:/Python27/Scripts/pip.exe install github3.py"
|
||||||
|
|||||||
1
projects/mtg/Android/.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
/gen
|
/gen
|
||||||
/bin
|
/bin
|
||||||
|
/libs
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,28 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="0192" android:versionName="@string/app_version" package="net.wagic.app">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
|
android:versionCode="0231"
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
android:installLocation="preferExternal"
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
android:versionName="@string/app_version"
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
package="net.wagic.app">
|
||||||
<application android:debuggable="true" android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
|
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
||||||
<activity android:configChanges="keyboard|keyboardHidden|orientation" android:label="@string/app_name" android:name="org.libsdl.app.SDLActivity" android:screenOrientation="sensorLandscape">
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
<intent-filter>
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<category android:name="android.intent.category.LAUNCHER"/>
|
<application android:icon="@drawable/icon"
|
||||||
</intent-filter>
|
android:label="@string/app_name"
|
||||||
</activity>
|
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
|
||||||
|
|
||||||
<activity android:configChanges="keyboard|keyboardHidden|orientation" android:name="com.google.ads.AdActivity" android:screenOrientation="sensorLandscape"/>
|
<activity android:debuggable="false"
|
||||||
</application>
|
android:configChanges="keyboard|keyboardHidden|orientation"
|
||||||
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10"/>
|
android:label="@string/app_name"
|
||||||
|
android:name="org.libsdl.app.SDLActivity"
|
||||||
|
android:screenOrientation="sensorLandscape">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
</application>
|
||||||
|
<uses-sdk android:minSdkVersion="10"
|
||||||
|
android:targetSdkVersion="29" />
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|||||||
@@ -8,4 +8,4 @@
|
|||||||
# project structure.
|
# project structure.
|
||||||
|
|
||||||
# Project target.
|
# Project target.
|
||||||
target=android-10
|
target=android-23
|
||||||
|
|||||||
@@ -11,9 +11,8 @@ SDL_PATH := $(JGE_PATH)/Dependencies/SDL
|
|||||||
BOOST_PATH := $(MY_WAGIC_ROOT)/Boost
|
BOOST_PATH := $(MY_WAGIC_ROOT)/Boost
|
||||||
JPEG_PATH := $(JGE_PATH)/Dependencies/libjpeg
|
JPEG_PATH := $(JGE_PATH)/Dependencies/libjpeg
|
||||||
PNG_PATH := $(JGE_PATH)/Dependencies/libpng
|
PNG_PATH := $(JGE_PATH)/Dependencies/libpng
|
||||||
DEBUG ?= DEBUG
|
|
||||||
|
|
||||||
LOCAL_CFLAGS += -DLINUX -DANDROID -DSDL_CONFIG -D_$(DEBUG)
|
LOCAL_CFLAGS += -DLINUX -DANDROID -DSDL_CONFIG -DNETWORK_SUPPORT
|
||||||
LOCAL_CFLAGS += -D_STLP_USE_SIMPLE_NODE_ALLOC -DTIXML_USE_STL
|
LOCAL_CFLAGS += -D_STLP_USE_SIMPLE_NODE_ALLOC -DTIXML_USE_STL
|
||||||
LOCAL_CFLAGS += -D__arm__ -D_REENTRANT -D_GLIBCXX__PTHREADS
|
LOCAL_CFLAGS += -D__arm__ -D_REENTRANT -D_GLIBCXX__PTHREADS
|
||||||
LOCAL_STATIC_LIBRARIES := libpng libjpeg
|
LOCAL_STATIC_LIBRARIES := libpng libjpeg
|
||||||
@@ -134,6 +133,7 @@ LOCAL_SRC_FILES := $(SDL_PATH)/src/main/android/SDL_android_main.cpp \
|
|||||||
$(MTG_PATH)/src/WFilter.cpp \
|
$(MTG_PATH)/src/WFilter.cpp \
|
||||||
$(MTG_PATH)/src/WFont.cpp \
|
$(MTG_PATH)/src/WFont.cpp \
|
||||||
$(MTG_PATH)/src/WGui.cpp \
|
$(MTG_PATH)/src/WGui.cpp \
|
||||||
|
$(MTG_PATH)/src/WParsedInt.cpp \
|
||||||
$(MTG_PATH)/src/WResourceManager.cpp \
|
$(MTG_PATH)/src/WResourceManager.cpp \
|
||||||
$(MTG_PATH)/src/DeckView.cpp \
|
$(MTG_PATH)/src/DeckView.cpp \
|
||||||
$(MTG_PATH)/src/CarouselDeckView.cpp \
|
$(MTG_PATH)/src/CarouselDeckView.cpp \
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
APP_PROJECT_PATH := $(call my-dir)/..
|
APP_PROJECT_PATH := $(call my-dir)/..
|
||||||
APP_CPPFLAGS += -frtti -fexceptions
|
APP_CPPFLAGS += -frtti -fexceptions
|
||||||
APP_ABI := armeabi armeabi-v7a
|
APP_ABI := armeabi-v7a
|
||||||
APP_STL := gnustl_static
|
#APP_ABI := x86 # mainly for emulators
|
||||||
|
APP_STL := c++_static
|
||||||
APP_MODULES := libpng libjpeg main SDL
|
APP_MODULES := libpng libjpeg main SDL
|
||||||
|
|
||||||
#APP_OPTIM is 'release' by default
|
#APP_OPTIM is 'release' by default
|
||||||
|
|||||||
BIN
projects/mtg/Android/libs/armeabi-v7a/libSDL.so
Normal file
BIN
projects/mtg/Android/libs/armeabi-v7a/libmain.so
Normal file
BIN
projects/mtg/Android/libs/jsoup-1.11.3.jar
Normal file
BIN
projects/mtg/Android/libs/zip4j-2.1.3-SNAPSHOT.jar
Normal file
@@ -11,4 +11,4 @@
|
|||||||
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
|
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
|
||||||
|
|
||||||
# Project target.
|
# Project target.
|
||||||
target=android-10
|
target=android-23
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 3.5 KiB |
BIN
projects/mtg/Android/res/drawable-xhdpi/icon.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
projects/mtg/Android/res/drawable-xxhdpi/icon.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
projects/mtg/Android/res/drawable-xxxhdpi/icon.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
@@ -4,6 +4,7 @@
|
|||||||
android:id="@+id/mainLayout"
|
android:id="@+id/mainLayout"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
|
android:keepScreenOn="true"
|
||||||
>
|
>
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Wagic</string>
|
<string name="app_name">Wagic</string>
|
||||||
<string name="app_version">0.19.2</string>
|
<string name="app_version">0.23.1</string>
|
||||||
<string name="info_text">Wagic v0.19.2\\nAll Rights Reserved.</string>
|
<string name="info_text">All Rights Reserved.</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
279
projects/mtg/Android/src/net/wagic/utils/DeckImporter.java
Normal file
@@ -0,0 +1,279 @@
|
|||||||
|
package net.wagic.utils;
|
||||||
|
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
public class DeckImporter
|
||||||
|
{
|
||||||
|
public static String importDeck( File f, String mypath, String activePath )
|
||||||
|
{
|
||||||
|
String message = "";
|
||||||
|
String deck = "";
|
||||||
|
String deckname = "";
|
||||||
|
String prefix = "";
|
||||||
|
int cardcount = 0;
|
||||||
|
if(f.exists() && !f.isDirectory())
|
||||||
|
{
|
||||||
|
deckname = f.getName();
|
||||||
|
int pos = deckname.lastIndexOf(".");
|
||||||
|
if (pos > 0)
|
||||||
|
{
|
||||||
|
deckname = deckname.substring(0, pos);
|
||||||
|
}
|
||||||
|
deck += "#NAME:"+deckname+"\n";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Scanner scanner = new Scanner(new File(mypath));
|
||||||
|
if (scanner.hasNext())
|
||||||
|
{
|
||||||
|
while (scanner.hasNext())
|
||||||
|
{
|
||||||
|
String line = scanner.nextLine();
|
||||||
|
line = line.trim();
|
||||||
|
if (line.equals("")) {
|
||||||
|
line = scanner.nextLine();
|
||||||
|
if (line.equals("")) {
|
||||||
|
line = scanner.nextLine();
|
||||||
|
prefix = "#SB:"; // Sideboard started from next card (we assumed that there are 2 blank lines from main deck and sideboard).
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!line.equals("")) // don't write out blank lines
|
||||||
|
{
|
||||||
|
String[] slines = line.split("\\s+");
|
||||||
|
String arranged = "";
|
||||||
|
for (int idx = 1; idx < slines.length; idx++)
|
||||||
|
{
|
||||||
|
arranged += slines[idx] + " ";
|
||||||
|
}
|
||||||
|
if ((isNumeric(slines[0])) && arranged != null)
|
||||||
|
{
|
||||||
|
if (slines[1] != null && slines[1].startsWith("["))
|
||||||
|
{
|
||||||
|
arranged = arranged.substring(5);
|
||||||
|
slines[1] = slines[1].replaceAll("\\[", "").replaceAll("\\]", "");
|
||||||
|
deck += prefix + arranged + " (" + renameSet(slines[1]) + ") * " + slines[0] + "\n";
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
deck += prefix + arranged + "(*) * " + slines[0] + "\n";
|
||||||
|
}
|
||||||
|
cardcount += Integer.parseInt(slines[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
File profile = new File(activePath + "/User/settings/options.txt");
|
||||||
|
String profileName = "Default";
|
||||||
|
if (profile.exists() && !profile.isDirectory())
|
||||||
|
profileName = getActiveProfile(profile);
|
||||||
|
File rootDecks = null;
|
||||||
|
if (!profileName.equalsIgnoreCase("Default"))
|
||||||
|
rootDecks = new File(activePath + "/User/profiles/" + profileName);
|
||||||
|
else
|
||||||
|
rootDecks = new File(activePath + "/User/player/");
|
||||||
|
if (rootDecks.exists() && rootDecks.isDirectory())
|
||||||
|
{
|
||||||
|
//save deck
|
||||||
|
int countdeck = 1;
|
||||||
|
File[] files = rootDecks.listFiles();
|
||||||
|
for (int i = 0; i < files.length; i++)
|
||||||
|
{//check if there is available deck...
|
||||||
|
if (files[i].getName().startsWith("deck"))
|
||||||
|
countdeck++;
|
||||||
|
}
|
||||||
|
File toSave = new File(rootDecks + "/deck" + countdeck + ".txt");
|
||||||
|
try
|
||||||
|
{
|
||||||
|
FileOutputStream fop = new FileOutputStream(toSave);
|
||||||
|
|
||||||
|
// if file doesn't exists, then create it
|
||||||
|
if (!toSave.exists())
|
||||||
|
{
|
||||||
|
toSave.createNewFile();
|
||||||
|
}
|
||||||
|
// get the content in bytes
|
||||||
|
byte[] contentInBytes = deck.getBytes();
|
||||||
|
fop.write(contentInBytes);
|
||||||
|
fop.flush();
|
||||||
|
fop.close();
|
||||||
|
message = "The deck has been successfully imported as: " + toSave.getName() + "\n" + cardcount + " total cards in this deck\n\n" + deck;
|
||||||
|
} catch (IOException e)
|
||||||
|
{
|
||||||
|
message = e.getMessage();
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
message = "Problem opening decks folder: " + rootDecks.getAbsolutePath();
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
message = "No errors, and file EMPTY";
|
||||||
|
}
|
||||||
|
} catch (IOException e)
|
||||||
|
{
|
||||||
|
message = e.getMessage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isNumeric(String input)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Integer.parseInt(input);
|
||||||
|
}
|
||||||
|
catch(NumberFormatException ex)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getActiveProfile(File mypath)
|
||||||
|
{
|
||||||
|
String name = "";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Scanner scanner = new Scanner(new File(mypath.toString()));
|
||||||
|
if (scanner.hasNext())
|
||||||
|
{
|
||||||
|
String line = scanner.nextLine();
|
||||||
|
name = line.substring(8);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return "Default";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(IOException e)
|
||||||
|
{
|
||||||
|
return "Default";
|
||||||
|
}
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String renameSet(String set)
|
||||||
|
{
|
||||||
|
if (set == "")
|
||||||
|
return "*";
|
||||||
|
if (set == "AL")
|
||||||
|
return "ALL";
|
||||||
|
if (set == "AQ")
|
||||||
|
return "ATQ";
|
||||||
|
if (set == "AP")
|
||||||
|
return "APC";
|
||||||
|
if (set == "AN")
|
||||||
|
return "ARN";
|
||||||
|
if (set == "AE")
|
||||||
|
return "ARC";
|
||||||
|
if (set == "BR")
|
||||||
|
return "BRB";
|
||||||
|
if (set == "BD")
|
||||||
|
return "BTD";
|
||||||
|
if (set == "CH")
|
||||||
|
return "CHR";
|
||||||
|
if (set == "6E")
|
||||||
|
return "6ED";
|
||||||
|
if (set == "CS")
|
||||||
|
return "CSP";
|
||||||
|
if (set == "DS")
|
||||||
|
return "DST";
|
||||||
|
if (set == "D2")
|
||||||
|
return "DD2";
|
||||||
|
if (set == "8E")
|
||||||
|
return "8ED";
|
||||||
|
if (set == "EX")
|
||||||
|
return "EXO";
|
||||||
|
if (set == "FE")
|
||||||
|
return "FEM";
|
||||||
|
if (set == "FD")
|
||||||
|
return "5DN";
|
||||||
|
if (set == "5E")
|
||||||
|
return "5ED";
|
||||||
|
if (set == "4E")
|
||||||
|
return "4ED";
|
||||||
|
if (set == "GP")
|
||||||
|
return "GPT";
|
||||||
|
if (set == "HL")
|
||||||
|
return "HML";
|
||||||
|
if (set == "IA")
|
||||||
|
return "ICE";
|
||||||
|
if (set == "IN")
|
||||||
|
return "INV";
|
||||||
|
if (set == "JU")
|
||||||
|
return "JUD";
|
||||||
|
if (set == "LG")
|
||||||
|
return "LEG";
|
||||||
|
if (set == "LE")
|
||||||
|
return "LGN";
|
||||||
|
if (set == "A")
|
||||||
|
return "LEA";
|
||||||
|
if (set == "B")
|
||||||
|
return "LEB";
|
||||||
|
if (set == "MM")
|
||||||
|
return "MMQ";
|
||||||
|
if (set == "MI")
|
||||||
|
return "MIR";
|
||||||
|
if (set == "MR")
|
||||||
|
return "MRD";
|
||||||
|
if (set == "NE")
|
||||||
|
return "NEM";
|
||||||
|
if (set == "9E")
|
||||||
|
return "9ED";
|
||||||
|
if (set == "OD")
|
||||||
|
return "ODY";
|
||||||
|
if (set == "ON")
|
||||||
|
return "ONS";
|
||||||
|
if (set == "PS")
|
||||||
|
return "PLS";
|
||||||
|
if (set == "PT")
|
||||||
|
return "POR";
|
||||||
|
if (set == "P2")
|
||||||
|
return "P02";
|
||||||
|
if (set == "P3")
|
||||||
|
return "PTK";
|
||||||
|
if (set == "PR")
|
||||||
|
return "PPR";
|
||||||
|
if (set == "PY")
|
||||||
|
return "PCY";
|
||||||
|
if (set == "R")
|
||||||
|
return "RV";
|
||||||
|
if (set == "SC")
|
||||||
|
return "SCG";
|
||||||
|
if (set == "7E")
|
||||||
|
return "7ED";
|
||||||
|
if (set == "ST")
|
||||||
|
return "S99";
|
||||||
|
if (set == "ST2K")
|
||||||
|
return "S00";
|
||||||
|
if (set == "SH")
|
||||||
|
return "STH";
|
||||||
|
if (set == "TE")
|
||||||
|
return "TMP";
|
||||||
|
if (set == "DK")
|
||||||
|
return "DRK";
|
||||||
|
if (set == "TO")
|
||||||
|
return "TOR";
|
||||||
|
if (set == "UG")
|
||||||
|
return "UGL";
|
||||||
|
if (set == "U")
|
||||||
|
return "2ED";
|
||||||
|
if (set == "UD")
|
||||||
|
return "UDS";
|
||||||
|
if (set == "UL")
|
||||||
|
return "ULG";
|
||||||
|
if (set == "US")
|
||||||
|
return "USG";
|
||||||
|
if (set == "VI")
|
||||||
|
return "VIS";
|
||||||
|
if (set == "WL")
|
||||||
|
return "WTH";
|
||||||
|
else
|
||||||
|
return set;
|
||||||
|
}
|
||||||
|
}
|
||||||
3766
projects/mtg/Android/src/net/wagic/utils/ImgDownloader.java
Normal file
@@ -5,11 +5,16 @@ import java.io.FileNotFoundException;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
import android.os.Build;
|
||||||
|
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
public class StorageOptions
|
public class StorageOptions
|
||||||
{
|
{
|
||||||
|
private static final String TAG = StorageOptions.class.getCanonicalName();
|
||||||
private static ArrayList<String> mMounts = new ArrayList<String>();
|
private static ArrayList<String> mMounts = new ArrayList<String>();
|
||||||
private static ArrayList<String> mVold = new ArrayList<String>();
|
private static ArrayList<String> mVold = new ArrayList<String>();
|
||||||
|
|
||||||
@@ -18,13 +23,29 @@ public class StorageOptions
|
|||||||
public static int count = 0;
|
public static int count = 0;
|
||||||
public static String defaultMountPoint;
|
public static String defaultMountPoint;
|
||||||
|
|
||||||
public static void determineStorageOptions()
|
public static void determineStorageOptions(android.content.Context mContext)
|
||||||
{
|
{
|
||||||
initializeMountPoints();
|
initializeMountPoints();
|
||||||
|
if (findForcemount()){
|
||||||
|
readMountsFileTest();
|
||||||
|
}
|
||||||
readMountsFile();
|
readMountsFile();
|
||||||
readVoldFile();
|
readVoldFile();
|
||||||
|
if (findForcemount()){
|
||||||
|
removeDuplicates(mMounts);
|
||||||
|
}
|
||||||
compareMountsWithVold();
|
compareMountsWithVold();
|
||||||
testAndCleanMountsList();
|
testAndCleanMountsList();
|
||||||
|
File[] externalStorageVolumes = mContext.getExternalFilesDirs("");
|
||||||
|
for(int i = 0; i < externalStorageVolumes.length; i++){
|
||||||
|
mMounts.add(externalStorageVolumes[i].getAbsolutePath());
|
||||||
|
}
|
||||||
|
for(int i = 0; i < mMounts.size(); i++){
|
||||||
|
for(int j = 0; j < mMounts.size(); j++){
|
||||||
|
if(i!=j && mMounts.get(i).startsWith(mMounts.get(j)))
|
||||||
|
mMounts.remove(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
setProperties();
|
setProperties();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,6 +61,42 @@ public class StorageOptions
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void readMountsFileTest()
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Test mountpoints storage -kevlahnota
|
||||||
|
*/
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Scanner scanner = new Scanner(new File("/proc/mounts"));
|
||||||
|
while (scanner.hasNext())
|
||||||
|
{
|
||||||
|
String line = scanner.nextLine();
|
||||||
|
if (line.startsWith("/"))
|
||||||
|
{
|
||||||
|
String[] lineElements = line.split("\\s+");
|
||||||
|
if ("vfat".equals(lineElements[2]) || "fuse".equals(lineElements[2]) || "sdcardfs".equals(lineElements[2]))
|
||||||
|
{
|
||||||
|
File mountPoint = new File(lineElements[1]);
|
||||||
|
if (!lineElements[1].equals(defaultMountPoint))
|
||||||
|
if (mountPoint.isDirectory() && mountPoint.canRead())
|
||||||
|
mMounts.add(lineElements[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (FileNotFoundException fnfex)
|
||||||
|
{
|
||||||
|
// if proc/mount doesn't exist we just use
|
||||||
|
Log.i(TAG, fnfex.getMessage() + ": assuming " + defaultMountPoint + " is the only mount point");
|
||||||
|
mMounts.add(defaultMountPoint);
|
||||||
|
} catch (Exception e)
|
||||||
|
{
|
||||||
|
Log.e(TAG, e.getMessage() + ": unknown exception while reading mounts file");
|
||||||
|
mMounts.add(defaultMountPoint);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static void readMountsFile()
|
private static void readMountsFile()
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@@ -65,11 +122,11 @@ public class StorageOptions
|
|||||||
} catch (FileNotFoundException fnfex)
|
} catch (FileNotFoundException fnfex)
|
||||||
{
|
{
|
||||||
// if proc/mount doesn't exist we just use
|
// if proc/mount doesn't exist we just use
|
||||||
Log.i(StorageOptions.class.getCanonicalName(), fnfex.getMessage() + ": assuming " + defaultMountPoint + " is the only mount point");
|
Log.i(TAG, fnfex.getMessage() + ": assuming " + defaultMountPoint + " is the only mount point");
|
||||||
mMounts.add(defaultMountPoint);
|
mMounts.add(defaultMountPoint);
|
||||||
} catch (Exception e)
|
} catch (Exception e)
|
||||||
{
|
{
|
||||||
Log.e(StorageOptions.class.getCanonicalName(), e.getMessage() + ": unknown exception while reading mounts file");
|
Log.e(TAG, e.getMessage() + ": unknown exception while reading mounts file");
|
||||||
mMounts.add(defaultMountPoint);
|
mMounts.add(defaultMountPoint);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -98,15 +155,32 @@ public class StorageOptions
|
|||||||
} catch (FileNotFoundException fnfex)
|
} catch (FileNotFoundException fnfex)
|
||||||
{
|
{
|
||||||
// if vold.fstab doesn't exist we use the value gathered from the Environment
|
// if vold.fstab doesn't exist we use the value gathered from the Environment
|
||||||
Log.i(StorageOptions.class.getCanonicalName(), fnfex.getMessage() + ": assuming " + defaultMountPoint + " is the only mount point");
|
Log.i(TAG, fnfex.getMessage() + ": assuming " + defaultMountPoint + " is the only mount point");
|
||||||
mMounts.add(defaultMountPoint);
|
mMounts.add(defaultMountPoint);
|
||||||
} catch (Exception e)
|
} catch (Exception e)
|
||||||
{
|
{
|
||||||
Log.e(StorageOptions.class.getCanonicalName(), e.getMessage() + ": unknown exception while reading mounts file");
|
Log.e(TAG, e.getMessage() + ": unknown exception while reading vold.fstab file");
|
||||||
mMounts.add(defaultMountPoint);
|
mMounts.add(defaultMountPoint);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static ArrayList<String> removeDuplicates(ArrayList<String> list)
|
||||||
|
{
|
||||||
|
ArrayList<String> result = new ArrayList<String>();
|
||||||
|
|
||||||
|
HashSet<String> set = new HashSet<String>();
|
||||||
|
|
||||||
|
for (String item : list)
|
||||||
|
{
|
||||||
|
if (!set.contains(item))
|
||||||
|
{
|
||||||
|
result.add(item);
|
||||||
|
set.add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
private static void compareMountsWithVold()
|
private static void compareMountsWithVold()
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@@ -115,11 +189,14 @@ public class StorageOptions
|
|||||||
* Compare the two lists together and remove items that are not in both lists.
|
* Compare the two lists together and remove items that are not in both lists.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
for (int i = 0; i < mMounts.size(); i++)
|
if (mVold.size() > 0)
|
||||||
{
|
{
|
||||||
String mount = mMounts.get(i);
|
for (int i = 0; i < mMounts.size(); i++)
|
||||||
if (!mVold.contains(mount))
|
{
|
||||||
mMounts.remove(i--);
|
String mount = mMounts.get(i);
|
||||||
|
if (!mVold.contains(mount))
|
||||||
|
mMounts.remove(i--);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// don't need this anymore, clear the vold list to reduce memory
|
// don't need this anymore, clear the vold list to reduce memory
|
||||||
@@ -132,18 +209,60 @@ public class StorageOptions
|
|||||||
/*
|
/*
|
||||||
* Now that we have a cleaned list of mount paths Test each one to make sure it's a valid and available path. If it is not, remove it from the list.
|
* Now that we have a cleaned list of mount paths Test each one to make sure it's a valid and available path. If it is not, remove it from the list.
|
||||||
*/
|
*/
|
||||||
|
int t = 0;
|
||||||
for (int i = 0; i < mMounts.size(); i++)
|
for (int i = 0; i < mMounts.size(); i++)
|
||||||
{
|
{
|
||||||
|
t++;
|
||||||
String mount = mMounts.get(i);
|
String mount = mMounts.get(i);
|
||||||
File root = new File(mount);
|
File root = new File(mount);
|
||||||
if (!root.exists() || !root.isDirectory() || !root.canWrite())
|
if (!root.exists() || !root.isDirectory() || !root.canWrite())
|
||||||
mMounts.remove(i--);
|
mMounts.remove(i--);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (t == 0 && Build.VERSION.SDK_INT >= 16 && findForcemount())
|
||||||
|
{
|
||||||
|
//if none is found lets force it for Jellybean and above...
|
||||||
|
if (System.getenv("EXTERNAL_STORAGE") != null)
|
||||||
|
{
|
||||||
|
File root = new File(System.getenv("EXTERNAL_STORAGE"));
|
||||||
|
if (root.exists() && root.isDirectory() && root.canWrite())
|
||||||
|
{
|
||||||
|
if(!isRooted())
|
||||||
|
{
|
||||||
|
File folder = new File(System.getenv("EXTERNAL_STORAGE")+"/Android/data/net.wagic.app/files");
|
||||||
|
folder.mkdirs();
|
||||||
|
mMounts.add(folder.toString());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mMounts.add(System.getenv("EXTERNAL_STORAGE"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (System.getenv("SECONDARY_STORAGE") != null)
|
||||||
|
{
|
||||||
|
File root = new File(System.getenv("SECONDARY_STORAGE"));
|
||||||
|
if (root.exists() && root.isDirectory() && root.canWrite())
|
||||||
|
{
|
||||||
|
if(!isRooted())
|
||||||
|
{
|
||||||
|
File folder = new File(System.getenv("SECONDARY_STORAGE")+"/Android/data/net.wagic.app/files");
|
||||||
|
folder.mkdirs();
|
||||||
|
mMounts.add(folder.toString());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mMounts.add(System.getenv("SECONDARY_STORAGE"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void setProperties()
|
private static void setProperties()
|
||||||
{
|
{
|
||||||
|
Log.d(TAG, "setProperties()");
|
||||||
/*
|
/*
|
||||||
* At this point all the paths in the list should be valid. Build the public properties.
|
* At this point all the paths in the list should be valid. Build the public properties.
|
||||||
*/
|
*/
|
||||||
@@ -151,12 +270,27 @@ public class StorageOptions
|
|||||||
ArrayList<String> mLabels = new ArrayList<String>();
|
ArrayList<String> mLabels = new ArrayList<String>();
|
||||||
|
|
||||||
int i = 1;
|
int i = 1;
|
||||||
for (String path : mMounts)
|
if(findForcemount()){
|
||||||
{ // TODO: /mnt/sdcard is assumed to always mean internal storage. Use this comparison until there is a better way to do this
|
for (String path : mMounts)
|
||||||
if ("/mnt/sdcard".equalsIgnoreCase(path))
|
{//with forcemount menu
|
||||||
mLabels.add("Built-in Storage");
|
if ("/mnt/sdcard".equalsIgnoreCase(path) || "/storage/sdcard0".equalsIgnoreCase(path))
|
||||||
else
|
mLabels.add("Internal SD " + "[" + path + "/]");
|
||||||
mLabels.add("External SD Card " + i++);
|
else if (path.contains("emulated"))
|
||||||
|
mLabels.add("Emulated SD " + " [" + path + "/]");
|
||||||
|
else
|
||||||
|
mLabels.add("External SD " + " [" + path + "/]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (String path : mMounts)
|
||||||
|
{
|
||||||
|
// TODO: /mnt/sdcard and emulated are assumed to always mean internal storage. Use this comparison until there is a better way to do this
|
||||||
|
if ("/mnt/sdcard".equalsIgnoreCase(path) || path.contains("emulated"))
|
||||||
|
mLabels.add("Built-in Storage " + "[" + path + "/]");
|
||||||
|
else
|
||||||
|
mLabels.add("External SD Card " + "[" + path + "/]");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
labels = new String[mLabels.size()];
|
labels = new String[mLabels.size()];
|
||||||
@@ -171,4 +305,119 @@ public class StorageOptions
|
|||||||
// use and to prepare it for the next time it's needed.
|
// use and to prepare it for the next time it's needed.
|
||||||
mMounts.clear();
|
mMounts.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean isExternalStorageReadOnly() {
|
||||||
|
String extStorageState = Environment.getExternalStorageState();
|
||||||
|
if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(extStorageState)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isExternalStorageAvailable() {
|
||||||
|
String extStorageState = Environment.getExternalStorageState();
|
||||||
|
if (Environment.MEDIA_MOUNTED.equals(extStorageState)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the device is rooted.
|
||||||
|
*
|
||||||
|
* @return <code>true</code> if the device is rooted, <code>false</code> otherwise.
|
||||||
|
*/
|
||||||
|
public static boolean isRooted()
|
||||||
|
{
|
||||||
|
// get from build info
|
||||||
|
String buildTags = android.os.Build.TAGS;
|
||||||
|
if (buildTags != null && buildTags.contains("test-keys"))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if /system/app/Superuser.apk is present
|
||||||
|
try
|
||||||
|
{
|
||||||
|
File file = new File("/system/app/Superuser.apk");
|
||||||
|
if (file.exists())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} catch (Exception e1)
|
||||||
|
{
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
File file = new File("/system/app/Superuser/Superuser.apk");
|
||||||
|
if (file.exists())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} catch (Exception e1)
|
||||||
|
{
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
//SuperSU
|
||||||
|
try
|
||||||
|
{
|
||||||
|
File file = new File("/system/app/SuperSU.apk");
|
||||||
|
if (file.exists())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} catch (Exception e1)
|
||||||
|
{
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
File file = new File("/system/app/SuperSU/SuperSU.apk");
|
||||||
|
if (file.exists())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} catch (Exception e1)
|
||||||
|
{
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
// try executing commands
|
||||||
|
return canExecuteCommand("/system/xbin/which su")
|
||||||
|
|| canExecuteCommand("/system/bin/which su") || canExecuteCommand("which su");
|
||||||
|
}
|
||||||
|
|
||||||
|
// executes a command on the system
|
||||||
|
private static boolean canExecuteCommand(String command)
|
||||||
|
{
|
||||||
|
boolean executedSuccesfully;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Runtime.getRuntime().exec(command);
|
||||||
|
executedSuccesfully = true;
|
||||||
|
} catch (Exception e)
|
||||||
|
{
|
||||||
|
executedSuccesfully = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return executedSuccesfully;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean findForcemount()
|
||||||
|
{
|
||||||
|
Log.d(TAG, "findForcemount()");
|
||||||
|
try
|
||||||
|
{
|
||||||
|
File file = new File(System.getenv("EXTERNAL_STORAGE") + "/forcemount");
|
||||||
|
if (file.exists())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} catch (Exception e)
|
||||||
|
{
|
||||||
|
Log.w(TAG, e.getMessage());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -27,7 +27,7 @@ OBJS = objs/InteractiveButton.o objs/AbilityParser.o objs/ActionElement.o\
|
|||||||
objs/ThisDescriptor.o objs/Token.o objs/Translate.o objs/TranslateKeys.o\
|
objs/ThisDescriptor.o objs/Token.o objs/Translate.o objs/TranslateKeys.o\
|
||||||
objs/Trash.o objs/utils.o objs/WEvent.o objs/WResourceManager.o\
|
objs/Trash.o objs/utils.o objs/WEvent.o objs/WResourceManager.o\
|
||||||
objs/WCachedResource.o objs/WDataSrc.o objs/WGui.o objs/WFilter.o objs/Tasks.o\
|
objs/WCachedResource.o objs/WDataSrc.o objs/WGui.o objs/WFilter.o objs/Tasks.o\
|
||||||
objs/WFont.o objs/CarouselDeckView.o objs/GridDeckView.o objs/DeckView.o
|
objs/WFont.o objs/WParsedInt.o objs/CarouselDeckView.o objs/GridDeckView.o objs/DeckView.o
|
||||||
DEPS = $(patsubst objs/%.o, deps/%.d, $(OBJS))
|
DEPS = $(patsubst objs/%.o, deps/%.d, $(OBJS))
|
||||||
|
|
||||||
RESULT = $(shell psp-config --psp-prefix 2> Makefile.cache)
|
RESULT = $(shell psp-config --psp-prefix 2> Makefile.cache)
|
||||||
@@ -59,7 +59,6 @@ endif
|
|||||||
|
|
||||||
ifeq ($(TARGET_ARCHITECTURE),psp)
|
ifeq ($(TARGET_ARCHITECTURE),psp)
|
||||||
DEFAULT_RULE = 3xx
|
DEFAULT_RULE = 3xx
|
||||||
TARGET_ARCHITECTURE = psp
|
|
||||||
PSP_FW_VERSION=371
|
PSP_FW_VERSION=371
|
||||||
BUILD_PRX = 1
|
BUILD_PRX = 1
|
||||||
SIGN_PRX = 1
|
SIGN_PRX = 1
|
||||||
@@ -74,19 +73,36 @@ PSP_EBOOT_PIC1 = pic1.png
|
|||||||
INCDIR = ../../JGE/include ../../JGE/src/zipFS ../../JGE/include/psp ../../JGE/include/psp/freetype2 ../../JGE/src ../../projects/mtg/include ../../Boost
|
INCDIR = ../../JGE/include ../../JGE/src/zipFS ../../JGE/include/psp ../../JGE/include/psp/freetype2 ../../JGE/src ../../projects/mtg/include ../../Boost
|
||||||
LIBDIR = ../../JGE/lib/psp
|
LIBDIR = ../../JGE/lib/psp
|
||||||
CFLAGS = -O2 -G0 -DPSPFW3XX -DDEVHOOK -DUSE_PRECOMPILED_HEADERS=1 -DPSP -DTIXML_USE_STL
|
CFLAGS = -O2 -G0 -DPSPFW3XX -DDEVHOOK -DUSE_PRECOMPILED_HEADERS=1 -DPSP -DTIXML_USE_STL
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
|
ifeq ($(MAKECMDGOALS),x11)
|
||||||
|
|
||||||
|
OBJS += objs/TestSuiteAI.o
|
||||||
|
INCDIR = -I../../JGE/include -I../../JGE/src -I/usr/X11/include -I../../projects/mtg/include -I/usr/include/boost -I../../JGE/src/zipFS
|
||||||
|
LIBDIR = -L../../JGE/lib/linux -L../../JGE -L/usr/X11/lib
|
||||||
|
LIBS = -ljge -lfreetype -ljpeg -lgif -lpng -lz -lm -lstdc++ -lhgetools -lGL -lGLU -lX11 -lpthread $(FMOD)
|
||||||
|
CFLAGS = $(INCDIR) -DLINUX -DNETWORK_SUPPORT -DUSE_PRECOMPILED_HEADERS=1 -DTIXML_USE_STL -Wno-nonnull-compare
|
||||||
|
|
||||||
|
ASFLAGS = $(CXXFLAGS)
|
||||||
|
|
||||||
|
all: $(DEFAULT_RULE)
|
||||||
|
else
|
||||||
|
|
||||||
OBJS += objs/TestSuiteAI.o
|
OBJS += objs/TestSuiteAI.o
|
||||||
INCDIR = -I../../JGE/include -I../../JGE/src -I/usr/X11/include -I../../projects/mtg/include -I../../Boost -I../../JGE/src/zipFS
|
INCDIR = -I../../JGE/include -I../../JGE/src -I/usr/X11/include -I../../projects/mtg/include -I../../Boost -I../../JGE/src/zipFS
|
||||||
LIBDIR = -L../../JGE/lib/linux -L../../JGE -L/usr/X11/lib -L../../Boost/lib
|
LIBDIR = -L../../JGE/lib/linux -L../../JGE -L/usr/X11/lib -L../../Boost/lib
|
||||||
LIBS = -ljge -lfreetype -ljpeg -lgif -lpng -lz -lm -lstdc++ -lhgetools -lGL -lGLU -lX11 -lboost_thread $(FMOD)
|
LIBS = -ljge -lfreetype -ljpeg -lgif -lpng -lz -lm -lstdc++ -lhgetools -lGL -lGLU -lX11 -lboost_thread $(FMOD)
|
||||||
CFLAGS = $(INCDIR) -DLINUX -DUSE_PRECOMPILED_HEADERS=1
|
CFLAGS = $(INCDIR) -DLINUX -DNETWORK_SUPPORT -DUSE_PRECOMPILED_HEADERS=1 -Wno-nonnull-compare
|
||||||
|
|
||||||
ASFLAGS = $(CXXFLAGS)
|
ASFLAGS = $(CXXFLAGS)
|
||||||
|
|
||||||
all: $(DEFAULT_RULE)
|
all: $(DEFAULT_RULE)
|
||||||
|
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CFLAGS := -Wall -W -Wno-unused $(CFLAGS)
|
CFLAGS := -Wall -W -Werror -Wno-unused -Wno-deprecated-declarations $(CFLAGS)
|
||||||
CXXFLAGS += $(CFLAGS)
|
CXXFLAGS += $(CFLAGS)
|
||||||
# -fno-exceptions
|
# -fno-exceptions
|
||||||
|
|
||||||
@@ -110,8 +126,6 @@ debug: all
|
|||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$(TARGET): Makefile.$(TARGET_ARCHITECTURE) $(OBJS) ../../JGE/lib/linux/libjge.a
|
$(TARGET): Makefile.$(TARGET_ARCHITECTURE) $(OBJS) ../../JGE/lib/linux/libjge.a
|
||||||
$(CXX) -o $(TARGET) $(OBJS) $(LIBS) $(LIBDIR)
|
$(CXX) -o $(TARGET) $(OBJS) $(LIBS) $(LIBDIR)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
#NAME:Kill by Numbers
|
#NAME:Kill by Numbers
|
||||||
#DESC:They just keep multiplying.
|
#DESC:They just keep multiplying.
|
||||||
|
#HINT:castpriority(enchantment,instant,sorcery,artifact,creature)
|
||||||
|
#HINT:dontattackwith(Rhys the Redeemed)
|
||||||
|
#HINT:dontblockwith(Rhys the Redeemed)
|
||||||
|
#HINT:dontattackwith(Kazandu Tuskcaller)
|
||||||
|
#HINT:dontblockwith(Kazandu Tuskcaller)
|
||||||
|
|
||||||
Mox Emerald (LEA) *2
|
Mox Emerald (LEA) *2
|
||||||
Mox Pearl (LEA) *2
|
Mox Pearl (LEA) *2
|
||||||
Forest (LEA) *15
|
Forest (LEA) *15
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
#NAME:Etched Affinity
|
#NAME:Etched Affinity
|
||||||
#DESC:Modern URB Aggro
|
#DESC:Modern URB Aggro
|
||||||
#HINT:dontattackwith(creature[power<=0])
|
#HINT:dontattackwith(creature[power<=0])
|
||||||
#HINT:combo hold(Glimmervoid|myhand)^until(artifact|mybattlefield)^cast(Glimmervoid|myhand)^totalmananeeded({0})
|
|
||||||
#HINT:combo hold(Galvanic Blast|myhand)^cast(Galvanic Blast|myhand)^restriction{type(artifact|mybattlefield)~morethan~2,turn:3}^totalmananeeded({R})
|
#HINT:combo hold(Galvanic Blast|myhand)^cast(Galvanic Blast|myhand)^restriction{type(artifact|mybattlefield)~morethan~2,turn:3}^totalmananeeded({R})
|
||||||
|
|
||||||
#25 creatures
|
#25 creatures
|
||||||
|
|||||||
@@ -23,23 +23,23 @@
|
|||||||
369072
|
369072
|
||||||
|
|
||||||
#4 x Armada Wurm (RTR), {2}{g}{g}{w}{w}, Creature Wurm, 5/5, trample;
|
#4 x Armada Wurm (RTR), {2}{g}{g}{w}{w}, Creature Wurm, 5/5, trample;
|
||||||
999009
|
253587
|
||||||
999009
|
253587
|
||||||
999009
|
253587
|
||||||
999009
|
253587
|
||||||
|
|
||||||
#2 x Precinct Captain (RTR), {w}{w}, Creature Human Soldier, 2/2, first strike;
|
#2 x Precinct Captain (RTR), {w}{w}, Creature Human Soldier, 2/2, first strike;
|
||||||
999171
|
270792
|
||||||
999171
|
270792
|
||||||
|
|
||||||
#4 x Wayfaring Temple (RTR), {1}{g}{w}, Creature Elemental, 0/0,
|
#4 x Wayfaring Temple (RTR), {1}{g}{w}, Creature Elemental, 0/0,
|
||||||
999260
|
253539
|
||||||
999260
|
253539
|
||||||
999260
|
253539
|
||||||
999260
|
253539
|
||||||
|
|
||||||
#1 x Worldspine Wurm (RTR), {8}{g}{g}{g}, Creature Wurm, 15/15, trample;
|
#1 x Worldspine Wurm (RTR), {8}{g}{g}{g}, Creature Wurm, 15/15, trample;
|
||||||
999262
|
253575
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -57,14 +57,14 @@
|
|||||||
369060
|
369060
|
||||||
|
|
||||||
#2 x Chromatic Lantern (RTR), {3}, Artifact,
|
#2 x Chromatic Lantern (RTR), {3}, Artifact,
|
||||||
999039
|
290542
|
||||||
999039
|
290542
|
||||||
|
|
||||||
#4 x Growing Ranks (RTR), {2}{g/w}{g/w}, Enchantment,
|
#4 x Growing Ranks (RTR), {2}{g/w}{g/w}, Enchantment,
|
||||||
999106
|
270957
|
||||||
999106
|
270957
|
||||||
999106
|
270957
|
||||||
999106
|
270957
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -84,26 +84,26 @@
|
|||||||
369018
|
369018
|
||||||
|
|
||||||
#4 x Forest (RTR), Basic Land Forest,
|
#4 x Forest (RTR), Basic Land Forest,
|
||||||
999086
|
289326
|
||||||
999086
|
289326
|
||||||
999086
|
289326
|
||||||
999086
|
289326
|
||||||
|
|
||||||
#4 x Plains (RTR), Basic Land Plains,
|
#4 x Plains (RTR), Basic Land Plains,
|
||||||
999168
|
289310
|
||||||
999168
|
289310
|
||||||
999168
|
289310
|
||||||
999168
|
289310
|
||||||
|
|
||||||
#2 x Temple Garden (RTR), Land Forest Plains,
|
#2 x Temple Garden (RTR), Land Forest Plains,
|
||||||
999238
|
253681
|
||||||
999238
|
253681
|
||||||
|
|
||||||
#4 x Plains (RTR), Basic Land Plains,
|
#4 x Plains (RTR), Basic Land Plains,
|
||||||
999265
|
289309
|
||||||
999265
|
289309
|
||||||
999265
|
289309
|
||||||
999265
|
289309
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 522 KiB |
BIN
projects/mtg/bin/Res/graphics/alphabeta.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
projects/mtg/bin/Res/graphics/avatarholder.png
Normal file
|
After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 151 KiB |
BIN
projects/mtg/bin/Res/graphics/backdropframe.png
Normal file
|
After Width: | Height: | Size: 233 KiB |
BIN
projects/mtg/bin/Res/graphics/bgdeckeditor.jpg
Normal file
|
After Width: | Height: | Size: 63 KiB |
BIN
projects/mtg/bin/Res/graphics/blitz_unlocked.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 17 KiB |
BIN
projects/mtg/bin/Res/graphics/commander_unlocked.png
Normal file
|
After Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 60 KiB |
BIN
projects/mtg/bin/Res/graphics/fakebar.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
projects/mtg/bin/Res/graphics/falsegod_unlocked.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
projects/mtg/bin/Res/graphics/hermit_unlocked.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
projects/mtg/bin/Res/graphics/horde_unlocked.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
projects/mtg/bin/Res/graphics/iconcard.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
projects/mtg/bin/Res/graphics/iconcommandzone.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
projects/mtg/bin/Res/graphics/iconexile.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
projects/mtg/bin/Res/graphics/iconhand.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
projects/mtg/bin/Res/graphics/iconlibrary.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
projects/mtg/bin/Res/graphics/iconsideboard.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 28 KiB |
BIN
projects/mtg/bin/Res/graphics/menubar.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
projects/mtg/bin/Res/graphics/menubgdeckeditor.jpg
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
projects/mtg/bin/Res/graphics/menuholder.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 29 KiB |
BIN
projects/mtg/bin/Res/graphics/menupanel.jpg
Normal file
|
After Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 117 KiB |
BIN
projects/mtg/bin/Res/graphics/miconslarge.png
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
projects/mtg/bin/Res/graphics/morinfen_unlocked.png
Normal file
|
After Width: | Height: | Size: 50 KiB |