mirror of
https://github.com/OMGeeky/andors-trail.git
synced 2026-02-23 15:38:29 +01:00
Compare commits
567 Commits
respawnspe
...
remove-dup
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
99f4ab5e6b | ||
|
|
0b2dbe53e3 | ||
|
|
a64c45586f | ||
|
|
e4aa742882 | ||
|
|
a4f67e6feb | ||
|
|
794303eacd | ||
|
|
2b53d200f0 | ||
|
|
d288c23e53 | ||
|
|
1e0ee6fc7f | ||
|
|
86af20dcc4 | ||
|
|
d0eb30ad02 | ||
|
|
d39fb1d6e8 | ||
|
|
c41a40894e | ||
|
|
e5a98bc252 | ||
|
|
45f770dcc1 | ||
|
|
5e79b15320 | ||
|
|
34ab4601e4 | ||
|
|
39303c0381 | ||
|
|
e4a2c925ef | ||
|
|
5e6e233a84 | ||
|
|
4a118451dd | ||
|
|
53de86e4f9 | ||
|
|
4c18ff2615 | ||
|
|
db9821956c | ||
|
|
90da983317 | ||
|
|
342441aa36 | ||
|
|
9250db38be | ||
|
|
8782190bdf | ||
|
|
7d58901811 | ||
|
|
9e885c6d7a | ||
|
|
ef1fc76f3c | ||
|
|
3e8fe3426d | ||
|
|
cb445ec643 | ||
|
|
6609a7b84a | ||
|
|
d6732bbe2e | ||
|
|
2a188aa05d | ||
|
|
bebe59537c | ||
|
|
cb7628c859 | ||
|
|
6cc167d9d4 | ||
|
|
62f5eb00ba | ||
|
|
762fbe5191 | ||
|
|
afe758fddb | ||
|
|
c05d9082f6 | ||
|
|
1f12c08ca3 | ||
|
|
dc6b17b77b | ||
|
|
38d8f205fc | ||
|
|
f6660ec7b0 | ||
|
|
851e9e1b40 | ||
|
|
b890c9b8f8 | ||
|
|
4d3606fe49 | ||
|
|
b51772e207 | ||
|
|
3ccf5eb3e1 | ||
|
|
5a6eb9b0fb | ||
|
|
1c3b3e5841 | ||
|
|
fe5de9c6d7 | ||
|
|
866ee65964 | ||
|
|
1b32b1f9b5 | ||
|
|
5708f1111a | ||
|
|
ae0bbb4b0b | ||
|
|
ada8ed6583 | ||
|
|
a67edc6f2b | ||
|
|
dbf3eda49b | ||
|
|
abee648344 | ||
|
|
4f77bbb69e | ||
|
|
9383efdb9d | ||
|
|
32ab09aa36 | ||
|
|
b81d381fc4 | ||
|
|
4dec9dc7db | ||
|
|
a08bf5ed49 | ||
|
|
321085d3e9 | ||
|
|
98fbdce95e | ||
|
|
5bd15e489b | ||
|
|
5531241ca4 | ||
|
|
3bf9eca3a9 | ||
|
|
90bdb77beb | ||
|
|
73ff117ddd | ||
|
|
0c36d1b045 | ||
|
|
2408171c9d | ||
|
|
35ba477cd4 | ||
|
|
219acf7618 | ||
|
|
b619137ae3 | ||
|
|
1516381ec6 | ||
|
|
40c816b4e9 | ||
|
|
1a0c36e179 | ||
|
|
399cd68643 | ||
|
|
aa5872b022 | ||
|
|
c38357ff7f | ||
|
|
feac4292af | ||
|
|
11a9d15df0 | ||
|
|
879a57e06d | ||
|
|
2b3759151d | ||
|
|
33487fe4c0 | ||
|
|
7004d31aa9 | ||
|
|
b3cbe50138 | ||
|
|
0fd7ef32ad | ||
|
|
aff84a8054 | ||
|
|
c3c74e9e56 | ||
|
|
0113a57311 | ||
|
|
e03cd77f81 | ||
|
|
82be86bffb | ||
|
|
f9cab276fb | ||
|
|
5979cb4773 | ||
|
|
0df8568f37 | ||
|
|
88439ed08b | ||
|
|
5b109cd5b9 | ||
|
|
5ae9d9e009 | ||
|
|
df093ba457 | ||
|
|
57c598227e | ||
|
|
e70580fcb1 | ||
|
|
8a8ad9b82b | ||
|
|
2c395ca5e1 | ||
|
|
51cd079680 | ||
|
|
4c97b65acf | ||
|
|
13134ae67d | ||
|
|
3a446af265 | ||
|
|
ae1f9b6015 | ||
|
|
313514ebe5 | ||
|
|
b0caaeda1e | ||
|
|
c3924e7193 | ||
|
|
5f42305af7 | ||
|
|
9513c8a790 | ||
|
|
9b59b018f1 | ||
|
|
fe7eb87f6d | ||
|
|
e0093c31af | ||
|
|
00beaf68e8 | ||
|
|
2594c9d096 | ||
|
|
23a122c093 | ||
|
|
810a1e810c | ||
|
|
a382008e9b | ||
|
|
bdd383c430 | ||
|
|
2672fa5e89 | ||
|
|
22f46c593e | ||
|
|
698f108262 | ||
|
|
37f71811ba | ||
|
|
1b60247c23 | ||
|
|
193a57de05 | ||
|
|
e8dfb0e658 | ||
|
|
0a2ceea8fa | ||
|
|
6f16729c53 | ||
|
|
26f0e174f6 | ||
|
|
11a1720900 | ||
|
|
9721cca1e4 | ||
|
|
6f20d1a164 | ||
|
|
5dfe12b527 | ||
|
|
bef533556a | ||
|
|
18618d527f | ||
|
|
676b661e9e | ||
|
|
3748668c11 | ||
|
|
caf699874a | ||
|
|
67d214e8e7 | ||
|
|
2a63cb8e70 | ||
|
|
2d5ff980df | ||
|
|
5c8effb45b | ||
|
|
113af685dc | ||
|
|
6008e2d55f | ||
|
|
c451da4300 | ||
|
|
2a8f2a0f26 | ||
|
|
46e396b74b | ||
|
|
93f2e6d563 | ||
|
|
f38920e719 | ||
|
|
b8c07be5bd | ||
|
|
e0aa9f76a6 | ||
|
|
bca41adbf4 | ||
|
|
86eb8775b2 | ||
|
|
7b759fb71d | ||
|
|
241b2d244d | ||
|
|
252b42b1ee | ||
|
|
792b9896b3 | ||
|
|
13021da2d8 | ||
|
|
ee0ff7de44 | ||
|
|
e08ce9950d | ||
|
|
8c65f8cbf1 | ||
|
|
30f4ea1d44 | ||
|
|
5561a8f7a1 | ||
|
|
0d26a532e3 | ||
|
|
6bc57ba54e | ||
|
|
5b5fc4f782 | ||
|
|
d23be31719 | ||
|
|
f4b81760fb | ||
|
|
211c89d6ef | ||
|
|
d8a69fd700 | ||
|
|
1165cf3f98 | ||
|
|
40b04d8bb2 | ||
|
|
ef43997c0d | ||
|
|
75bddf5ab3 | ||
|
|
220e46d9f7 | ||
|
|
07de076b26 | ||
|
|
79d72a1e93 | ||
|
|
adea17d749 | ||
|
|
ad28909118 | ||
|
|
93ed58c12d | ||
|
|
e912e452d8 | ||
|
|
b4c490f648 | ||
|
|
e6ef6728ac | ||
|
|
53744b1897 | ||
|
|
678737441a | ||
|
|
cb1801b486 | ||
|
|
2ffa9f5f0b | ||
|
|
bde0339a80 | ||
|
|
b81ec6883f | ||
|
|
8e8c02b038 | ||
|
|
37f17cddf6 | ||
|
|
5bbe529230 | ||
|
|
856fdfcfba | ||
|
|
e78f16c342 | ||
|
|
2776c33876 | ||
|
|
cc6de21dc1 | ||
|
|
511017a1de | ||
|
|
28ed52b263 | ||
|
|
a63e8ad034 | ||
|
|
bda9556cd1 | ||
|
|
aaae2a3b51 | ||
|
|
3e9032de0d | ||
|
|
b778ed1207 | ||
|
|
439e0fcbd8 | ||
|
|
34416c5548 | ||
|
|
070cb5bafd | ||
|
|
7f50c4f444 | ||
|
|
821ff0982e | ||
|
|
4de87119bc | ||
|
|
73eff8c748 | ||
|
|
15246d5270 | ||
|
|
a0564c05ed | ||
|
|
bea41af484 | ||
|
|
d7948ff076 | ||
|
|
60e9df3141 | ||
|
|
7be2256672 | ||
|
|
af8cc33bff | ||
|
|
64e3009269 | ||
|
|
ff456c2565 | ||
|
|
bc308df775 | ||
|
|
b87a514187 | ||
|
|
b28f4f4c42 | ||
|
|
cee90a077a | ||
|
|
3dcc1028c1 | ||
|
|
beb8ae4a11 | ||
|
|
ac7303a7f2 | ||
|
|
b8a6073e3d | ||
|
|
27909b4b49 | ||
|
|
6cd268b969 | ||
|
|
657297ca4c | ||
|
|
46d26478ca | ||
|
|
16bd9dc17a | ||
|
|
26e9bda24b | ||
|
|
02beb88b3a | ||
|
|
b33fcb0eeb | ||
|
|
94843d2e9e | ||
|
|
e6975c462b | ||
|
|
b13a8179d9 | ||
|
|
63f1d27ae8 | ||
|
|
185b94732f | ||
|
|
5264c23dc5 | ||
|
|
216ae613c6 | ||
|
|
e129245866 | ||
|
|
bdc9d41b90 | ||
|
|
dc80a3bbe9 | ||
|
|
54170d7dd4 | ||
|
|
3b3629c1bb | ||
|
|
8c7ab49812 | ||
|
|
8c3c069f17 | ||
|
|
d491a2db89 | ||
|
|
fcad74852a | ||
|
|
04db185d75 | ||
|
|
eacf4b9ced | ||
|
|
6678fc1c72 | ||
|
|
e7d8a37291 | ||
|
|
591d368667 | ||
|
|
38e136d6f3 | ||
|
|
afe7766cad | ||
|
|
6a1d927190 | ||
|
|
063ce332a8 | ||
|
|
239f03c5ec | ||
|
|
add01e2508 | ||
|
|
a2fb8bb2b9 | ||
|
|
56c57e7dba | ||
|
|
c34c5ecd5e | ||
|
|
14b9d00796 | ||
|
|
457c98cc0d | ||
|
|
bb614278bb | ||
|
|
655d464677 | ||
|
|
1f63ae060f | ||
|
|
b7cc23cb32 | ||
|
|
53b75f1c80 | ||
|
|
429bb7d61d | ||
|
|
8070329915 | ||
|
|
e9138d9cbf | ||
|
|
209cf28224 | ||
|
|
5363d60ece | ||
|
|
5d273f7308 | ||
|
|
000c3e71e2 | ||
|
|
093c75da95 | ||
|
|
979d3c81db | ||
|
|
16c9378da4 | ||
|
|
bf62a3502f | ||
|
|
06d71caa1e | ||
|
|
aab900dc58 | ||
|
|
cdb02a8a7b | ||
|
|
01affa64b3 | ||
|
|
cc34decd0f | ||
|
|
d971825cbd | ||
|
|
cbc4992f10 | ||
|
|
89bac044f1 | ||
|
|
dc933ba225 | ||
|
|
a7ac2ed657 | ||
|
|
8453f0e5f5 | ||
|
|
17f3c75fdf | ||
|
|
4f5952f24c | ||
|
|
2bf6e4c3b7 | ||
|
|
90cb403196 | ||
|
|
d59b686d10 | ||
|
|
346187a80f | ||
|
|
f8b38d88aa | ||
|
|
ad4432a2df | ||
|
|
bf20d0dc6e | ||
|
|
d940229581 | ||
|
|
044c6fa4b1 | ||
|
|
d2b1e67bac | ||
|
|
7bb42e98b6 | ||
|
|
ea80cd11fe | ||
|
|
1f00f4a86c | ||
|
|
12350f3fdb | ||
|
|
c650e4aa75 | ||
|
|
94f81db7ba | ||
|
|
8c80615659 | ||
|
|
bc5e956cb3 | ||
|
|
fab9bdc298 | ||
|
|
1d90db1c1e | ||
|
|
9c3dd2e671 | ||
|
|
711285aab2 | ||
|
|
3d20a43a24 | ||
|
|
c3c491f72c | ||
|
|
489dfd55fb | ||
|
|
b84ffde283 | ||
|
|
5256868327 | ||
|
|
606e90e9bd | ||
|
|
c5b426af13 | ||
|
|
8ee1bf782c | ||
|
|
f4651a9bed | ||
|
|
c7a77f9c99 | ||
|
|
e42d2fcec8 | ||
|
|
2173fda575 | ||
|
|
dccb078060 | ||
|
|
9bc007349f | ||
|
|
435865f250 | ||
|
|
f7e64c5ab9 | ||
|
|
271a28887f | ||
|
|
e3955dac3a | ||
|
|
8971d671fe | ||
|
|
e03bc105b0 | ||
|
|
b5381d5d68 | ||
|
|
40eb5ca761 | ||
|
|
44298bf59d | ||
|
|
aab4771fcc | ||
|
|
b6dfb2eb7d | ||
|
|
1182bd84cd | ||
|
|
664f285e9a | ||
|
|
33717be65d | ||
|
|
eac69a5e67 | ||
|
|
9597363785 | ||
|
|
b7a06e04cb | ||
|
|
8984f35240 | ||
|
|
4a8f784fd5 | ||
|
|
7877fbdca7 | ||
|
|
2c67adcda2 | ||
|
|
1ff1835feb | ||
|
|
6b24efc014 | ||
|
|
894bf9ea8d | ||
|
|
dcbb525fb6 | ||
|
|
689f7820eb | ||
|
|
d47f26d038 | ||
|
|
3c5645156f | ||
|
|
edd79b4e4e | ||
|
|
8a95194465 | ||
|
|
80b55c1717 | ||
|
|
faca85e283 | ||
|
|
40d84d8c78 | ||
|
|
f0988afaa5 | ||
|
|
03b0ec16de | ||
|
|
3a31b3d00c | ||
|
|
50a697c85a | ||
|
|
af77d8e497 | ||
|
|
c6b80f1ff1 | ||
|
|
edbccb62e5 | ||
|
|
24a7578c67 | ||
|
|
200e44ad15 | ||
|
|
ac669f4aaa | ||
|
|
f73d993934 | ||
|
|
15657d08da | ||
|
|
b0829d7195 | ||
|
|
e31cee7fef | ||
|
|
ec2f4d74b2 | ||
|
|
773a9dbbe3 | ||
|
|
0de31eefd2 | ||
|
|
cd764d4c10 | ||
|
|
283418d43a | ||
|
|
e99da003d1 | ||
|
|
fc29346dee | ||
|
|
6ee86d8c56 | ||
|
|
5f91d084ed | ||
|
|
7989c84723 | ||
|
|
e280ad1423 | ||
|
|
35b762e891 | ||
|
|
b40eb7dc66 | ||
|
|
a3b74eb08a | ||
|
|
6b724c5e8d | ||
|
|
a407260c33 | ||
|
|
e0dc8e24b6 | ||
|
|
fcb21a1218 | ||
|
|
c54ade42d9 | ||
|
|
5460d52baf | ||
|
|
84c5242195 | ||
|
|
278e61cf7e | ||
|
|
7537309cd3 | ||
|
|
7dc2bcaa59 | ||
|
|
1e99c026cb | ||
|
|
ae23d99c7f | ||
|
|
a97f3cee64 | ||
|
|
c0e5f77d53 | ||
|
|
7c8e269b09 | ||
|
|
87bdd6036a | ||
|
|
4d222f7b06 | ||
|
|
9b8d0665a1 | ||
|
|
498600c6bd | ||
|
|
b2031e0f50 | ||
|
|
7536d14a34 | ||
|
|
10772abcb4 | ||
|
|
b5996767c1 | ||
|
|
1f7adadf78 | ||
|
|
810bcff78c | ||
|
|
e953d34d17 | ||
|
|
3b5fe2e622 | ||
|
|
9f46492f86 | ||
|
|
f1e69677be | ||
|
|
17e573a7a9 | ||
|
|
4cb6c26363 | ||
|
|
09974c67e4 | ||
|
|
51b0554668 | ||
|
|
3c3610d63c | ||
|
|
468ec1ee83 | ||
|
|
dcb6fcb3a6 | ||
|
|
9c080c4334 | ||
|
|
7b7fefb954 | ||
|
|
616e43ce8f | ||
|
|
318d070e05 | ||
|
|
4a7739a1bf | ||
|
|
e12250509e | ||
|
|
afb025fd91 | ||
|
|
8899cb5ea4 | ||
|
|
c6a7bc8c14 | ||
|
|
f2bb6d547b | ||
|
|
1fdcb23d04 | ||
|
|
131088ad22 | ||
|
|
5d3a51e8f2 | ||
|
|
d1cd8a8cef | ||
|
|
c2757dcbce | ||
|
|
274ef6a44f | ||
|
|
efff180339 | ||
|
|
8fb51c0647 | ||
|
|
7db9cf50ca | ||
|
|
8128707aa4 | ||
|
|
de7740ab14 | ||
|
|
31633be812 | ||
|
|
bcb5d36999 | ||
|
|
7d847dfde5 | ||
|
|
b703e774ae | ||
|
|
f6207be9d4 | ||
|
|
7c87c53421 | ||
|
|
a4ed3688a2 | ||
|
|
6ab8f5f836 | ||
|
|
f9c1724228 | ||
|
|
25c77fdf5e | ||
|
|
3bf9c6ae94 | ||
|
|
0e70b027f5 | ||
|
|
17b17187ff | ||
|
|
dc226ebe5d | ||
|
|
55f5edbb6a | ||
|
|
29d65fbf64 | ||
|
|
f3f35be0bf | ||
|
|
204c8e046c | ||
|
|
1a1710a6c2 | ||
|
|
1a2cc00184 | ||
|
|
7df8b0330c | ||
|
|
528dd2254e | ||
|
|
33fb7c83bf | ||
|
|
50ad382eed | ||
|
|
7d1c7cfd74 | ||
|
|
5b637099a1 | ||
|
|
0d6d725f87 | ||
|
|
a98c5d5416 | ||
|
|
3361973722 | ||
|
|
91bc6568ee | ||
|
|
2e583fbfcf | ||
|
|
50eab6ff38 | ||
|
|
d743550cc7 | ||
|
|
1c0efc8fa4 | ||
|
|
5ff38ea870 | ||
|
|
4c146f7896 | ||
|
|
956990dbd5 | ||
|
|
08f6a2b289 | ||
|
|
741a4c02a0 | ||
|
|
dcff4939f4 | ||
|
|
506ce02697 | ||
|
|
95bd17b371 | ||
|
|
16ef7088a6 | ||
|
|
f70b0c8a41 | ||
|
|
d68d45d7c7 | ||
|
|
7af2844305 | ||
|
|
fd8c5166b6 | ||
|
|
2c931b6cd2 | ||
|
|
210069f8e9 | ||
|
|
2453897d31 | ||
|
|
dc0e758f64 | ||
|
|
ac3bf4a008 | ||
|
|
caf16299e7 | ||
|
|
cfa19ed9d9 | ||
|
|
6e5d82f340 | ||
|
|
98456b99e8 | ||
|
|
45c6e571cb | ||
|
|
e6c5545cd3 | ||
|
|
402c3ae538 | ||
|
|
f6018ab466 | ||
|
|
0ff738c85e | ||
|
|
4876e6696d | ||
|
|
167da0d70f | ||
|
|
2748aded3f | ||
|
|
103434baa0 | ||
|
|
c2da7bcbe2 | ||
|
|
c64cf99d88 | ||
|
|
3789f1fd0a | ||
|
|
1e6df02e45 | ||
|
|
886a425aaf | ||
|
|
7e24d50c0c | ||
|
|
8f7d48c297 | ||
|
|
3cc81e2510 | ||
|
|
0f0be1c18e | ||
|
|
5f689e3d6c | ||
|
|
f04d3e40d4 | ||
|
|
68a74e07fa | ||
|
|
199cdbb787 | ||
|
|
375fcb37a2 | ||
|
|
bc1743dedf | ||
|
|
f7771f79c2 | ||
|
|
7ebce6b36b | ||
|
|
b4240eee3a | ||
|
|
514acc2b65 | ||
|
|
48bc854c8a | ||
|
|
07391dc6c7 | ||
|
|
7e905e84b7 | ||
|
|
200a45f0cb | ||
|
|
ebff0554f7 | ||
|
|
e54487d0b0 | ||
|
|
96a6e7ab20 | ||
|
|
95ff8ceb7e | ||
|
|
5aa4308e27 | ||
|
|
aa892be308 | ||
|
|
6971bcf9b5 | ||
|
|
0581e98b55 | ||
|
|
5c2e653cdf | ||
|
|
aa4cd722d2 | ||
|
|
10b2f37ed8 | ||
|
|
d7ae2a7082 | ||
|
|
c246a79726 | ||
|
|
8e4d75705e | ||
|
|
ffdaba2d8c | ||
|
|
97187071af | ||
|
|
dceab6b729 | ||
|
|
7771872947 |
@@ -1,8 +1,8 @@
|
|||||||
apply plugin: 'com.android.application'
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
compileSdkVersion 34
|
compileSdkVersion 34
|
||||||
buildToolsVersion "30.0.3"
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.gpl.rpg.AndorsTrail"
|
applicationId "com.gpl.rpg.AndorsTrail"
|
||||||
@@ -19,6 +19,7 @@ android {
|
|||||||
debug {
|
debug {
|
||||||
manifestPlaceholders icon_name: 'icon_beta', fileproviderPath: 'AndorsTrail.beta2'
|
manifestPlaceholders icon_name: 'icon_beta', fileproviderPath: 'AndorsTrail.beta2'
|
||||||
applicationIdSuffix 'beta2'
|
applicationIdSuffix 'beta2'
|
||||||
|
signingConfig signingConfigs.debug
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
namespace 'com.gpl.rpg.AndorsTrail'
|
namespace 'com.gpl.rpg.AndorsTrail'
|
||||||
@@ -42,6 +43,12 @@ task copyRes(type: Copy) {
|
|||||||
rename "(.*)\\.tmx", "\$1.xml"
|
rename "(.*)\\.tmx", "\$1.xml"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task copyResValuesIn(type: Copy) {
|
||||||
|
description "Exception Indonesian language code (Old IN was renamed to now ID)"
|
||||||
|
from "${rootDir}/res/values-id/"
|
||||||
|
into "${projectDir}/build/gen-res/values-in/"
|
||||||
|
}
|
||||||
|
|
||||||
task copyTranslation(type: Copy) {
|
task copyTranslation(type: Copy) {
|
||||||
description("Copies the translation files to the modules translations folder")
|
description("Copies the translation files to the modules translations folder")
|
||||||
from "${rootDir}/assets/translation"
|
from "${rootDir}/assets/translation"
|
||||||
@@ -54,11 +61,20 @@ task cleanup(type: Delete) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
afterEvaluate {
|
afterEvaluate {
|
||||||
|
project.tasks.copyRes.dependsOn project.tasks.copyResValuesIn
|
||||||
|
|
||||||
|
mapReleaseSourceSetPaths.dependsOn project.tasks.copyRes
|
||||||
|
generateReleaseResources.dependsOn project.tasks.copyRes
|
||||||
|
|
||||||
|
generateDebugResources.dependsOn project.tasks.copyRes
|
||||||
|
mapDebugSourceSetPaths.dependsOn project.tasks.copyRes
|
||||||
mergeDebugResources.dependsOn project.tasks.copyRes
|
mergeDebugResources.dependsOn project.tasks.copyRes
|
||||||
extractDeepLinksDebug.dependsOn project.tasks.copyRes
|
extractDeepLinksDebug.dependsOn project.tasks.copyRes
|
||||||
mergeReleaseResources.dependsOn project.tasks.copyRes
|
mergeReleaseResources.dependsOn project.tasks.copyRes
|
||||||
extractDeepLinksRelease.dependsOn project.tasks.copyRes
|
extractDeepLinksRelease.dependsOn project.tasks.copyRes
|
||||||
|
|
||||||
|
generateDebugResources.dependsOn project.tasks.copyTranslation
|
||||||
|
mapDebugSourceSetPaths.dependsOn project.tasks.copyTranslation
|
||||||
mergeDebugAssets.dependsOn project.tasks.copyTranslation
|
mergeDebugAssets.dependsOn project.tasks.copyTranslation
|
||||||
mergeReleaseAssets.dependsOn project.tasks.copyTranslation
|
mergeReleaseAssets.dependsOn project.tasks.copyTranslation
|
||||||
extractDeepLinksDebug.dependsOn project.tasks.copyTranslation
|
extractDeepLinksDebug.dependsOn project.tasks.copyTranslation
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
<manifest
|
<manifest
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.gpl.rpg.AndorsTrail"
|
package="com.gpl.rpg.AndorsTrail"
|
||||||
android:versionCode="73"
|
android:versionCode="78"
|
||||||
android:versionName="0.8.7beta"
|
android:versionName="0.8.12dev"
|
||||||
android:installLocation="auto"
|
android:installLocation="auto"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|||||||
@@ -24,15 +24,15 @@ public final class AndorsTrailApplication extends Application {
|
|||||||
public static final boolean DEVELOPMENT_DEBUGRESOURCES = false;
|
public static final boolean DEVELOPMENT_DEBUGRESOURCES = false;
|
||||||
public static final boolean DEVELOPMENT_FORCE_STARTNEWGAME = false;
|
public static final boolean DEVELOPMENT_FORCE_STARTNEWGAME = false;
|
||||||
public static final boolean DEVELOPMENT_FORCE_CONTINUEGAME = false;
|
public static final boolean DEVELOPMENT_FORCE_CONTINUEGAME = false;
|
||||||
public static final boolean DEVELOPMENT_DEBUGBUTTONS = true;
|
public static final boolean DEVELOPMENT_DEBUGBUTTONS = false;
|
||||||
public static final boolean DEVELOPMENT_FASTSPEED = false;
|
public static final boolean DEVELOPMENT_FASTSPEED = false;
|
||||||
public static final boolean DEVELOPMENT_VALIDATEDATA = true;
|
public static final boolean DEVELOPMENT_VALIDATEDATA = true;
|
||||||
public static final boolean DEVELOPMENT_DEBUGMESSAGES = true;
|
public static final boolean DEVELOPMENT_DEBUGMESSAGES = true;
|
||||||
public static final String CURRENT_VERSION_DISPLAY = "0.8.7beta";
|
public static final String CURRENT_VERSION_DISPLAY = "0.8.12dev";
|
||||||
public static final boolean IS_RELEASE_VERSION = !CURRENT_VERSION_DISPLAY.matches(".*[a-d].*");
|
public static final boolean IS_RELEASE_VERSION = !CURRENT_VERSION_DISPLAY.matches(".*[a-d].*");
|
||||||
public static final boolean DEVELOPMENT_INCOMPATIBLE_SAVEGAMES = DEVELOPMENT_DEBUGRESOURCES || DEVELOPMENT_DEBUGBUTTONS || DEVELOPMENT_FASTSPEED || !IS_RELEASE_VERSION;
|
public static final boolean DEVELOPMENT_INCOMPATIBLE_SAVEGAMES = DEVELOPMENT_DEBUGRESOURCES || DEVELOPMENT_DEBUGBUTTONS || DEVELOPMENT_FASTSPEED || !IS_RELEASE_VERSION;
|
||||||
public static final int DEVELOPMENT_INCOMPATIBLE_SAVEGAME_VERSION = 999;
|
public static final int DEVELOPMENT_INCOMPATIBLE_SAVEGAME_VERSION = 999;
|
||||||
public static final int CURRENT_VERSION = DEVELOPMENT_INCOMPATIBLE_SAVEGAMES ? DEVELOPMENT_INCOMPATIBLE_SAVEGAME_VERSION : 73;
|
public static final int CURRENT_VERSION = DEVELOPMENT_INCOMPATIBLE_SAVEGAMES ? DEVELOPMENT_INCOMPATIBLE_SAVEGAME_VERSION : 78;
|
||||||
|
|
||||||
private final AndorsTrailPreferences preferences = new AndorsTrailPreferences();
|
private final AndorsTrailPreferences preferences = new AndorsTrailPreferences();
|
||||||
private WorldContext world = new WorldContext();
|
private WorldContext world = new WorldContext();
|
||||||
|
|||||||
@@ -66,14 +66,6 @@ public final class Dialogs {
|
|||||||
CustomDialogFactory.show(d);
|
CustomDialogFactory.show(d);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void showKeyArea(final MainActivity currentActivity, final ControllerContext context, String phraseID) {
|
|
||||||
showConversation(currentActivity, context, phraseID, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void showMapSign(final MainActivity currentActivity, final ControllerContext context, String phraseID) {
|
|
||||||
showConversation(currentActivity, context, phraseID, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void showMapScriptMessage(final MainActivity currentActivity, final ControllerContext context, String phraseID) {
|
public static void showMapScriptMessage(final MainActivity currentActivity, final ControllerContext context, String phraseID) {
|
||||||
showConversation(currentActivity, context, phraseID, null, false);
|
showConversation(currentActivity, context, phraseID, null, false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ public final class DebugInterface {
|
|||||||
private DebugButton[] buttons;
|
private DebugButton[] buttons;
|
||||||
private List<DebugButton> tpButtons = new ArrayList<DebugButton>();
|
private List<DebugButton> tpButtons = new ArrayList<DebugButton>();
|
||||||
private List<DebugButton> tpButtons2 = new ArrayList<DebugButton>();
|
private List<DebugButton> tpButtons2 = new ArrayList<DebugButton>();
|
||||||
|
private List<DebugButton> tpButtons3 = new ArrayList<DebugButton>();
|
||||||
|
|
||||||
public DebugInterface(ControllerContext controllers, WorldContext world, MainActivity mainActivity) {
|
public DebugInterface(ControllerContext controllers, WorldContext world, MainActivity mainActivity) {
|
||||||
this.controllerContext = controllers;
|
this.controllerContext = controllers;
|
||||||
@@ -58,6 +59,9 @@ public final class DebugInterface {
|
|||||||
for (DebugButton b : tpButtons2) {
|
for (DebugButton b : tpButtons2) {
|
||||||
b.b.setVisibility(View.GONE);
|
b.b.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
for (DebugButton b : tpButtons3) {
|
||||||
|
b.b.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
,new DebugButton("teleport", new OnClickListener() {
|
,new DebugButton("teleport", new OnClickListener() {
|
||||||
@@ -178,7 +182,7 @@ public final class DebugInterface {
|
|||||||
,new DebugButton("cr", new OnClickListener() {
|
,new DebugButton("cr", new OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View arg0) {
|
public void onClick(View arg0) {
|
||||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "houseatcrossroads4", "down", 0, 0);
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "crossroads", "middle", 0, 0);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
,new DebugButton("lf", new OnClickListener() {
|
,new DebugButton("lf", new OnClickListener() {
|
||||||
@@ -242,11 +246,8 @@ public final class DebugInterface {
|
|||||||
new DebugButton("teleport", new OnClickListener() {
|
new DebugButton("teleport", new OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View arg0) {
|
public void onClick(View arg0) {
|
||||||
for (int i = 0; i < buttons.length; i++) {
|
for (DebugButton tpButton : tpButtons3) {
|
||||||
buttons[i].b.setVisibility(View.VISIBLE);
|
tpButton.b.setVisibility(View.VISIBLE);
|
||||||
}
|
|
||||||
for (DebugButton tpButton : tpButtons) {
|
|
||||||
tpButton.b.setVisibility(View.GONE);
|
|
||||||
}
|
}
|
||||||
for (DebugButton tpButton : tpButtons2) {
|
for (DebugButton tpButton : tpButtons2) {
|
||||||
tpButton.b.setVisibility(View.GONE);
|
tpButton.b.setVisibility(View.GONE);
|
||||||
@@ -277,9 +278,144 @@ public final class DebugInterface {
|
|||||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "sullengard2", "south", 0, 0);
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "sullengard2", "south", 0, 0);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
,new DebugButton("gal", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "galmore_19", "south", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
,new DebugButton("apl", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "sullengard_apple_farm_east", "house", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
,new DebugButton("wch", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "lake_shore_road_0", "west", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
,new DebugButton("la1", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "laerothisland2", "south2", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
,new DebugButton("la2", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "island3", "cave", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
,new DebugButton("fey", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "guynmart_wood_17", "north", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
}));
|
}));
|
||||||
buttonList.addAll(tpButtons2);
|
buttonList.addAll(tpButtons2);
|
||||||
|
|
||||||
|
tpButtons3.addAll(Arrays.asList(new DebugButton[] {
|
||||||
|
new DebugButton("teleport", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
for (int i = 0; i < buttons.length; i++) {
|
||||||
|
buttons[i].b.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
for (DebugButton tpButton : tpButtons) {
|
||||||
|
tpButton.b.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
for (DebugButton tpButton : tpButtons2) {
|
||||||
|
tpButton.b.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
for (DebugButton tpButton : tpButtons3) {
|
||||||
|
tpButton.b.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
,new DebugButton("#1", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "waterway11_east", "west", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
,new DebugButton("#2", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "laerothtomb1", "north", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
,new DebugButton("#3", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "mountainlake8", "north", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
,new DebugButton("#4", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "waterway5", "south", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
,new DebugButton("#5", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "island1", "south2", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
,new DebugButton("#6", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "laerothmanor1", "down2", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
,new DebugButton("#7", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "final_cave1", "up", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
,new DebugButton("#8", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "bwmfill3", "north2", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
,new DebugButton("#9", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "island2", "down", 0, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
,new DebugButton("#10", new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View arg0) {
|
||||||
|
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "laerothprison3", "south", 2, 0);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}));
|
||||||
|
buttonList.addAll(tpButtons3);
|
||||||
|
|
||||||
buttons = buttonList.toArray(new DebugButton[buttonList.size()]);
|
buttons = buttonList.toArray(new DebugButton[buttonList.size()]);
|
||||||
addDebugButtons(buttons);
|
addDebugButtons(buttons);
|
||||||
|
|
||||||
@@ -289,6 +425,9 @@ public final class DebugInterface {
|
|||||||
for (DebugButton b : tpButtons2) {
|
for (DebugButton b : tpButtons2) {
|
||||||
b.b.setVisibility(View.GONE);
|
b.b.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
for (DebugButton b : tpButtons3) {
|
||||||
|
b.b.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showToast(Context context, String msg, int duration) {
|
private void showToast(Context context, String msg, int duration) {
|
||||||
|
|||||||
@@ -397,12 +397,10 @@ public final class MainActivity
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerSteppedOnMapSignArea(MapObject area) {
|
public void onPlayerSteppedOnMapSignArea(MapObject area) {
|
||||||
Dialogs.showMapSign(this, controllers, area.id);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerSteppedOnKeyArea(MapObject area) {
|
public void onPlayerSteppedOnKeyArea(MapObject area) {
|
||||||
Dialogs.showKeyArea(this, controllers, area.id);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -579,6 +579,13 @@ public final class CombatController implements VisualEffectCompletedCallback {
|
|||||||
private static final int n = 50;
|
private static final int n = 50;
|
||||||
private static final int F = 40;
|
private static final int F = 40;
|
||||||
private static final float two_divided_by_PI = (float) (2f / Math.PI);
|
private static final float two_divided_by_PI = (float) (2f / Math.PI);
|
||||||
|
/**
|
||||||
|
* @implNote
|
||||||
|
* formula: 50 * (1 + (2 / pi) * atan((attackChance - blockChance - n) / F))
|
||||||
|
* <br/>
|
||||||
|
* n = {@value n}; F = {@value F}
|
||||||
|
* @return [0..100] . 100 == always hit.
|
||||||
|
*/
|
||||||
private static int getAttackHitChance(final Actor attacker, final Actor target) {
|
private static int getAttackHitChance(final Actor attacker, final Actor target) {
|
||||||
final int c = attacker.getAttackChance() - target.getBlockChance();
|
final int c = attacker.getAttackChance() - target.getBlockChance();
|
||||||
// (2/pi)*atan(..) will vary from -1 to +1 .
|
// (2/pi)*atan(..) will vary from -1 to +1 .
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.gpl.rpg.AndorsTrail.model.conversation.Reply;
|
|||||||
import com.gpl.rpg.AndorsTrail.model.item.ItemTypeCollection;
|
import com.gpl.rpg.AndorsTrail.model.item.ItemTypeCollection;
|
||||||
import com.gpl.rpg.AndorsTrail.model.item.Loot;
|
import com.gpl.rpg.AndorsTrail.model.item.Loot;
|
||||||
import com.gpl.rpg.AndorsTrail.model.map.LayeredTileMap;
|
import com.gpl.rpg.AndorsTrail.model.map.LayeredTileMap;
|
||||||
|
import com.gpl.rpg.AndorsTrail.model.map.MapObject;
|
||||||
import com.gpl.rpg.AndorsTrail.model.map.MonsterSpawnArea;
|
import com.gpl.rpg.AndorsTrail.model.map.MonsterSpawnArea;
|
||||||
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
|
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
|
||||||
import com.gpl.rpg.AndorsTrail.model.quest.QuestLogEntry;
|
import com.gpl.rpg.AndorsTrail.model.quest.QuestLogEntry;
|
||||||
@@ -124,6 +125,9 @@ public final class ConversationController {
|
|||||||
case changeMapFilter:
|
case changeMapFilter:
|
||||||
changeMapFilter(res, effect.mapName, effect.effectID);
|
changeMapFilter(res, effect.mapName, effect.effectID);
|
||||||
break;
|
break;
|
||||||
|
case mapchange:
|
||||||
|
mapchange(effect.mapName, effect.effectID);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,6 +176,13 @@ public final class ConversationController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void mapchange(String mapName, String place) {
|
||||||
|
PredefinedMap map = findMapForScriptEffect(mapName);
|
||||||
|
// controllers.mapController.activateMapObjectGroup(map, mapObjectGroupID);
|
||||||
|
// controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, effect.mapName, effect.effectID, 0, 0); //cbcbcb check
|
||||||
|
controllers.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, mapName, place, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
private void addAlignmentReward(Player player, String faction, int delta) {
|
private void addAlignmentReward(Player player, String faction, int delta) {
|
||||||
player.addAlignment(faction, delta);
|
player.addAlignment(faction, delta);
|
||||||
MovementController.refreshMonsterAggressiveness(world.model.currentMaps.map, world.model.player);
|
MovementController.refreshMonsterAggressiveness(world.model.currentMaps.map, world.model.player);
|
||||||
@@ -311,6 +322,18 @@ public final class ConversationController {
|
|||||||
case factionScoreEquals:
|
case factionScoreEquals:
|
||||||
result = player.getAlignment(requirement.requireID) == requirement.value;
|
result = player.getAlignment(requirement.requireID) == requirement.value;
|
||||||
break;
|
break;
|
||||||
|
case date:
|
||||||
|
result = world.model.worldData.getDate(requirement.requireID) >= requirement.value;
|
||||||
|
break;
|
||||||
|
case dateEquals:
|
||||||
|
result = world.model.worldData.getDate(requirement.requireID) == requirement.value;
|
||||||
|
break;
|
||||||
|
case time:
|
||||||
|
result = world.model.worldData.getTime(requirement.requireID) >= requirement.value;
|
||||||
|
break;
|
||||||
|
case timeEquals:
|
||||||
|
result = world.model.worldData.getTime(requirement.requireID) == requirement.value;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ public final class MapController {
|
|||||||
case sign:
|
case sign:
|
||||||
if (o.id == null || o.id.length() <= 0) return;
|
if (o.id == null || o.id.length() <= 0) return;
|
||||||
worldEventListeners.onPlayerSteppedOnMapSignArea(o);
|
worldEventListeners.onPlayerSteppedOnMapSignArea(o);
|
||||||
|
runScriptInArea(o);
|
||||||
break;
|
break;
|
||||||
case newmap:
|
case newmap:
|
||||||
if (o.map == null || o.place == null) return;
|
if (o.map == null || o.place == null) return;
|
||||||
@@ -79,7 +80,7 @@ public final class MapController {
|
|||||||
steppedOnRestArea(o);
|
steppedOnRestArea(o);
|
||||||
break;
|
break;
|
||||||
case script:
|
case script:
|
||||||
runScriptArea(o);
|
runScriptInArea(o);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -93,7 +94,7 @@ public final class MapController {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void runScriptArea(MapObject o) {
|
private void runScriptInArea(MapObject o) {
|
||||||
Resources res = controllers.getResources();
|
Resources res = controllers.getResources();
|
||||||
mapScriptExecutor.proceedToPhrase(res, o.id, true, true);
|
mapScriptExecutor.proceedToPhrase(res, o.id, true, true);
|
||||||
controllers.mapController.applyCurrentMapReplacements(res, true);
|
controllers.mapController.applyCurrentMapReplacements(res, true);
|
||||||
@@ -164,6 +165,7 @@ public final class MapController {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
worldEventListeners.onPlayerSteppedOnKeyArea(area);
|
worldEventListeners.onPlayerSteppedOnKeyArea(area);
|
||||||
|
runScriptInArea(area);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.gpl.rpg.AndorsTrail.controller;
|
package com.gpl.rpg.AndorsTrail.controller;
|
||||||
|
|
||||||
|
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
|
||||||
import com.gpl.rpg.AndorsTrail.context.ControllerContext;
|
import com.gpl.rpg.AndorsTrail.context.ControllerContext;
|
||||||
import com.gpl.rpg.AndorsTrail.context.WorldContext;
|
import com.gpl.rpg.AndorsTrail.context.WorldContext;
|
||||||
import com.gpl.rpg.AndorsTrail.controller.listeners.CombatActionListeners;
|
import com.gpl.rpg.AndorsTrail.controller.listeners.CombatActionListeners;
|
||||||
@@ -17,6 +18,7 @@ import com.gpl.rpg.AndorsTrail.model.item.ItemCategory;
|
|||||||
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
|
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
|
||||||
import com.gpl.rpg.AndorsTrail.model.item.ItemTypeCollection;
|
import com.gpl.rpg.AndorsTrail.model.item.ItemTypeCollection;
|
||||||
import com.gpl.rpg.AndorsTrail.util.ConstRange;
|
import com.gpl.rpg.AndorsTrail.util.ConstRange;
|
||||||
|
import com.gpl.rpg.AndorsTrail.util.L;
|
||||||
|
|
||||||
public final class SkillController {
|
public final class SkillController {
|
||||||
private final ControllerContext controllers;
|
private final ControllerContext controllers;
|
||||||
@@ -58,6 +60,9 @@ public final class SkillController {
|
|||||||
|
|
||||||
public static int getDropChanceRollBias(DropItem item, Player player) {
|
public static int getDropChanceRollBias(DropItem item, Player player) {
|
||||||
if (player == null) return 0;
|
if (player == null) return 0;
|
||||||
|
if(item.itemType == null && AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES){
|
||||||
|
L.log("Item type missing: " + item + " " + player.id);
|
||||||
|
}
|
||||||
|
|
||||||
if (ItemTypeCollection.isGoldItemType(item.itemType.id)) {
|
if (ItemTypeCollection.isGoldItemType(item.itemType.id)) {
|
||||||
return getRollBias(item, player, SkillID.coinfinder, SkillCollection.PER_SKILLPOINT_INCREASE_COINFINDER_CHANCE_PERCENT);
|
return getRollBias(item, player, SkillID.coinfinder, SkillCollection.PER_SKILLPOINT_INCREASE_COINFINDER_CHANCE_PERCENT);
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import java.io.IOException;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
|
||||||
public final class WorldData {
|
public final class WorldData {
|
||||||
private long worldTime = 0; // Measured in number of game rounds
|
private long worldTime = 0; // Measured in number of game rounds
|
||||||
private final HashMap<String, Long> timers = new HashMap<String, Long>();
|
private final HashMap<String, Long> timers = new HashMap<String, Long>();
|
||||||
@@ -36,6 +38,62 @@ public final class WorldData {
|
|||||||
return v + duration <= worldTime;
|
return v + duration <= worldTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getDate(String format) {
|
||||||
|
Calendar now = Calendar.getInstance();
|
||||||
|
int ret;
|
||||||
|
switch (format) {
|
||||||
|
case "YYYYMMDD":
|
||||||
|
ret = now.get(Calendar.YEAR)*10000 + (now.get(Calendar.MONTH) + 1)*100 + now.get(Calendar.DAY_OF_MONTH);
|
||||||
|
break;
|
||||||
|
case "YYYYMM":
|
||||||
|
ret = now.get(Calendar.YEAR)*100 + (now.get(Calendar.MONTH) + 1);
|
||||||
|
break;
|
||||||
|
case "YYYY":
|
||||||
|
ret = now.get(Calendar.YEAR);
|
||||||
|
break;
|
||||||
|
case "MMDD":
|
||||||
|
ret = (now.get(Calendar.MONTH) + 1)*100 + now.get(Calendar.DAY_OF_MONTH);
|
||||||
|
break;
|
||||||
|
case "MM":
|
||||||
|
ret = (now.get(Calendar.MONTH) + 1);
|
||||||
|
break;
|
||||||
|
case "DD":
|
||||||
|
ret = now.get(Calendar.DAY_OF_MONTH);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ret = 99999999; //never true
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getTime(String format) {
|
||||||
|
Calendar now = Calendar.getInstance();
|
||||||
|
int ret;
|
||||||
|
switch (format) {
|
||||||
|
case "HHMMSS":
|
||||||
|
ret = now.get(Calendar.HOUR_OF_DAY)*10000 + now.get(Calendar.MINUTE)*100 + now.get(Calendar.SECOND);
|
||||||
|
break;
|
||||||
|
case "HHMM":
|
||||||
|
ret = now.get(Calendar.HOUR_OF_DAY)*100 + now.get(Calendar.MINUTE);
|
||||||
|
break;
|
||||||
|
case "HH":
|
||||||
|
ret = now.get(Calendar.HOUR_OF_DAY);
|
||||||
|
break;
|
||||||
|
case "MMSS":
|
||||||
|
ret = now.get(Calendar.MINUTE)*100 + now.get(Calendar.SECOND);
|
||||||
|
break;
|
||||||
|
case "MM":
|
||||||
|
ret = now.get(Calendar.MINUTE);
|
||||||
|
break;
|
||||||
|
case "SS":
|
||||||
|
ret = now.get(Calendar.SECOND);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ret = 99999999; //never true
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
// ====== PARCELABLE ===================================================================
|
// ====== PARCELABLE ===================================================================
|
||||||
|
|
||||||
public WorldData(DataInputStream src, int fileversion) throws IOException {
|
public WorldData(DataInputStream src, int fileversion) throws IOException {
|
||||||
|
|||||||
@@ -405,6 +405,11 @@ public final class TMXMapTranslator {
|
|||||||
int tileID = tileCache.getTileID(tile.tilesetName, tile.localId);
|
int tileID = tileCache.getTileID(tile.tilesetName, tile.localId);
|
||||||
result.tiles[dx][dy] = tileID;
|
result.tiles[dx][dy] = tileID;
|
||||||
usedTileIDs.add(tileID);
|
usedTileIDs.add(tileID);
|
||||||
|
if(AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA){
|
||||||
|
if(tileID == 0){
|
||||||
|
L.log("Tileid 0 in "+ tile.tilesetName);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -21,6 +21,10 @@ public final class Requirement {
|
|||||||
,random
|
,random
|
||||||
,factionScoreEquals
|
,factionScoreEquals
|
||||||
,wearRemove
|
,wearRemove
|
||||||
|
,date
|
||||||
|
,dateEquals
|
||||||
|
,time
|
||||||
|
,timeEquals
|
||||||
}
|
}
|
||||||
|
|
||||||
public final RequirementType requireType;
|
public final RequirementType requireType;
|
||||||
@@ -83,6 +87,10 @@ public final class Requirement {
|
|||||||
case skillLevel:
|
case skillLevel:
|
||||||
return requireID != null && value >= 0;
|
return requireID != null && value >= 0;
|
||||||
case spentGold:
|
case spentGold:
|
||||||
|
case date:
|
||||||
|
case dateEquals:
|
||||||
|
case time:
|
||||||
|
case timeEquals:
|
||||||
return value >= 0;
|
return value >= 0;
|
||||||
case random:
|
case random:
|
||||||
return chance != null;
|
return chance != null;
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ public final class ScriptEffect {
|
|||||||
, deactivateMapObjectGroup
|
, deactivateMapObjectGroup
|
||||||
, removeQuestProgress
|
, removeQuestProgress
|
||||||
, changeMapFilter
|
, changeMapFilter
|
||||||
|
, mapchange
|
||||||
}
|
}
|
||||||
|
|
||||||
public final ScriptEffectType type;
|
public final ScriptEffectType type;
|
||||||
|
|||||||
@@ -137,7 +137,8 @@ public final class ResourceLoader {
|
|||||||
final ItemTypeParser itemTypeParser = new ItemTypeParser(loader, world.actorConditionsTypes, world.itemCategories, translationLoader);
|
final ItemTypeParser itemTypeParser = new ItemTypeParser(loader, world.actorConditionsTypes, world.itemCategories, translationLoader);
|
||||||
final TypedArray itemsToLoad = r.obtainTypedArray(itemsResourceId);
|
final TypedArray itemsToLoad = r.obtainTypedArray(itemsResourceId);
|
||||||
for (int i = 0; i < itemsToLoad.length(); ++i) {
|
for (int i = 0; i < itemsToLoad.length(); ++i) {
|
||||||
world.itemTypes.initialize(itemTypeParser, readStringFromRaw(r, itemsToLoad, i));
|
String s = readStringFromRaw(r, itemsToLoad, i);
|
||||||
|
world.itemTypes.initialize(itemTypeParser, s);
|
||||||
}
|
}
|
||||||
itemsToLoad.recycle();
|
itemsToLoad.recycle();
|
||||||
if (AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES) timingCheckpoint("ItemTypeParser");
|
if (AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES) timingCheckpoint("ItemTypeParser");
|
||||||
@@ -250,6 +251,7 @@ public final class ResourceLoader {
|
|||||||
|
|
||||||
private static void prepareTilesets(DynamicTileLoader loader, int mTileSize) {
|
private static void prepareTilesets(DynamicTileLoader loader, int mTileSize) {
|
||||||
final Size sz1x1 = new Size(1, 1);
|
final Size sz1x1 = new Size(1, 1);
|
||||||
|
final Size sz1x2 = new Size(1, 2);
|
||||||
final Size sz2x1 = new Size(2, 1);
|
final Size sz2x1 = new Size(2, 1);
|
||||||
final Size sz2x2 = new Size(2, 2);
|
final Size sz2x2 = new Size(2, 2);
|
||||||
final Size sz2x3 = new Size(2, 3);
|
final Size sz2x3 = new Size(2, 3);
|
||||||
@@ -258,6 +260,7 @@ public final class ResourceLoader {
|
|||||||
final Size sz6x1 = new Size(6, 1);
|
final Size sz6x1 = new Size(6, 1);
|
||||||
final Size sz7x1 = new Size(7, 1);
|
final Size sz7x1 = new Size(7, 1);
|
||||||
final Size sz8x3 = new Size(8, 3);
|
final Size sz8x3 = new Size(8, 3);
|
||||||
|
final Size sz16x8 = new Size(16, 8);
|
||||||
final Size sz20x12 = new Size(20, 12);
|
final Size sz20x12 = new Size(20, 12);
|
||||||
final Size mapTileSize = new Size(16, 8);
|
final Size mapTileSize = new Size(16, 8);
|
||||||
final Size sz8x8 = new Size(8, 8);
|
final Size sz8x8 = new Size(8, 8);
|
||||||
@@ -299,16 +302,19 @@ public final class ResourceLoader {
|
|||||||
loader.prepareTileset(R.drawable.items_necklaces_1, "items_necklaces_1", new Size(10, 3), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.items_necklaces_1, "items_necklaces_1", new Size(10, 3), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.items_weapons_2, "items_weapons_2", new Size(7, 1), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.items_weapons_2, "items_weapons_2", new Size(7, 1), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.items_weapons_3, "items_weapons_3", new Size(13, 5), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.items_weapons_3, "items_weapons_3", new Size(13, 5), sz1x1, mTileSize);
|
||||||
|
|
||||||
loader.prepareTileset(R.drawable.items_armours_2, "items_armours_2", sz7x1, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.items_armours_2, "items_armours_2", sz7x1, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.items_armours_3, "items_armours_3", new Size(10, 4), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.items_armours_3, "items_armours_3", new Size(10, 4), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.items_rings_1, "items_rings_1", new Size(10, 3), sz1x1, mTileSize);
|
|
||||||
loader.prepareTileset(R.drawable.items_japozero, "items_japozero", new Size(16, 37), sz1x1, mTileSize);
|
|
||||||
loader.prepareTileset(R.drawable.items_rijackson_1, "items_rijackson_1", new Size(5, 4), sz1x1, mTileSize);
|
|
||||||
loader.prepareTileset(R.drawable.items_g03_package_omi1, "items_g03_package_omi1", sz1x1, sz1x1, mTileSize);
|
|
||||||
loader.prepareTileset(R.drawable.items_consumables_omi1, "items_consumables_omi1", sz1x1, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.items_consumables_omi1, "items_consumables_omi1", sz1x1, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.items_feygard1, "items_feygard1", new Size(6, 2), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.items_feygard1, "items_feygard1", new Size(6, 2), sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.items_g03_package_omi1, "items_g03_package_omi1", sz1x1, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.items_japozero, "items_japozero", new Size(16, 37), sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.items_newb, "items_newb", new Size(32, 27), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.items_omi2, "items_omi2", new Size(6, 5), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.items_omi2, "items_omi2", new Size(6, 5), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.items_omgeeky, "items_omgeeky", new Size(10, 3), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.items_omgeeky, "items_omgeeky", new Size(10, 3), sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.items_phoenix01, "items_phoenix01", sz16x8, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.items_rijackson_1, "items_rijackson_1", new Size(5, 4), sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.items_rings_1, "items_rings_1", new Size(10, 3), sz1x1, mTileSize);
|
||||||
/*INSERT_ITEMS_TILESETS_HERE*/
|
/*INSERT_ITEMS_TILESETS_HERE*/
|
||||||
|
|
||||||
loader.prepareTileset(R.drawable.monsters_armor1, "monsters_armor1", sz1x1, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.monsters_armor1, "monsters_armor1", sz1x1, sz1x1, mTileSize);
|
||||||
@@ -334,6 +340,10 @@ public final class ResourceLoader {
|
|||||||
loader.prepareTileset(R.drawable.monsters_men, "monsters_men", new Size(9, 1), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.monsters_men, "monsters_men", new Size(9, 1), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.monsters_men2, "monsters_men2", new Size(10, 1), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.monsters_men2, "monsters_men2", new Size(10, 1), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.monsters_misc, "monsters_misc", new Size(13, 1), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.monsters_misc, "monsters_misc", new Size(13, 1), sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.monsters_newb_1, "monsters_newb_1", new Size(40, 34), sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.monsters_newb_2, "monsters_newb_2", new Size(8, 2), sz1x2, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.monsters_newb_3, "monsters_newb_3", new Size(10, 2), sz2x2, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.monsters_newb_4, "monsters_newb_4", new Size(4, 1), sz2x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.monsters_rats, "monsters_rats", new Size(5, 1), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.monsters_rats, "monsters_rats", new Size(5, 1), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.monsters_redshrike1, "monsters_redshrike1", sz7x1, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.monsters_redshrike1, "monsters_redshrike1", sz7x1, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.monsters_rltiles1, "monsters_rltiles1", new Size(20, 8), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.monsters_rltiles1, "monsters_rltiles1", new Size(20, 8), sz1x1, mTileSize);
|
||||||
@@ -368,9 +378,12 @@ public final class ResourceLoader {
|
|||||||
loader.prepareTileset(R.drawable.monsters_gisons, "monsters_gisons", new Size(8, 2), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.monsters_gisons, "monsters_gisons", new Size(8, 2), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.monsters_bosses_2x2, "monsters_bosses_2x2", sz1x1, sz2x2, mTileSize);
|
loader.prepareTileset(R.drawable.monsters_bosses_2x2, "monsters_bosses_2x2", sz1x1, sz2x2, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.monsters_omi2, "monsters_omi2", sz8x3, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.monsters_omi2, "monsters_omi2", sz8x3, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.monsters_phoenix01, "monsters_phoenix01", sz16x8, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.monsters_cats, "monsters_cats", new Size(10, 2), sz1x1, mTileSize);
|
||||||
/*INSERT_NPCS_TILESETS_HERE*/
|
/*INSERT_NPCS_TILESETS_HERE*/
|
||||||
|
|
||||||
loader.prepareTileset(R.drawable.map_bed_1, "map_bed_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_bed_1, "map_bed_1", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_boats_1, "map_boats_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_border_1, "map_border_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_border_1, "map_border_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_bridge_1, "map_bridge_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_bridge_1, "map_bridge_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_bridge_2, "map_bridge_2", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_bridge_2, "map_bridge_2", mapTileSize, sz1x1, mTileSize);
|
||||||
@@ -379,6 +392,7 @@ public final class ResourceLoader {
|
|||||||
loader.prepareTileset(R.drawable.map_cavewall_2, "map_cavewall_2", new Size(18, 6), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_cavewall_2, "map_cavewall_2", new Size(18, 6), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_cavewall_3, "map_cavewall_3", new Size(18, 6), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_cavewall_3, "map_cavewall_3", new Size(18, 6), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_cavewall_4, "map_cavewall_4", new Size(18, 6), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_cavewall_4, "map_cavewall_4", new Size(18, 6), sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_cavewall_5, "map_cavewall_5", new Size(6, 6), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_chair_table_1, "map_chair_table_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_chair_table_1, "map_chair_table_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_chair_table_2, "map_chair_table_2", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_chair_table_2, "map_chair_table_2", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_crate_1, "map_crate_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_crate_1, "map_crate_1", mapTileSize, sz1x1, mTileSize);
|
||||||
@@ -386,6 +400,7 @@ public final class ResourceLoader {
|
|||||||
loader.prepareTileset(R.drawable.map_curtain_1, "map_curtain_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_curtain_1, "map_curtain_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_entrance_1, "map_entrance_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_entrance_1, "map_entrance_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_entrance_2, "map_entrance_2", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_entrance_2, "map_entrance_2", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_entrance_3, "map_entrance_3", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_fence_1, "map_fence_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_fence_1, "map_fence_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_fence_2, "map_fence_2", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_fence_2, "map_fence_2", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_fence_3, "map_fence_3", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_fence_3, "map_fence_3", mapTileSize, sz1x1, mTileSize);
|
||||||
@@ -398,6 +413,8 @@ public final class ResourceLoader {
|
|||||||
loader.prepareTileset(R.drawable.map_ground_6, "map_ground_6", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_ground_6, "map_ground_6", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_ground_7, "map_ground_7", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_ground_7, "map_ground_7", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_ground_8, "map_ground_8", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_ground_8, "map_ground_8", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_ground_9, "map_ground_9", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_guynmart, "map_guynmart", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_house_1, "map_house_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_house_1, "map_house_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_house_2, "map_house_2", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_house_2, "map_house_2", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_indoor_1, "map_indoor_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_indoor_1, "map_indoor_1", mapTileSize, sz1x1, mTileSize);
|
||||||
@@ -406,37 +423,45 @@ public final class ResourceLoader {
|
|||||||
loader.prepareTileset(R.drawable.map_outdoor_1, "map_outdoor_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_outdoor_1, "map_outdoor_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_pillar_1, "map_pillar_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_pillar_1, "map_pillar_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_pillar_2, "map_pillar_2", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_pillar_2, "map_pillar_2", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_pillar_3, "map_pillar_3", new Size(16, 10), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_plant_1, "map_plant_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_plant_1, "map_plant_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_plant_2, "map_plant_2", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_plant_2, "map_plant_2", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_plant_3, "map_plant_3", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_plateau, "map_plateau", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_plateau_2, "map_plateau_2", new Size(8, 8), sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_ratdom, "map_ratdom", new Size(18, 6), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_rock_1, "map_rock_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_rock_1, "map_rock_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_rock_2, "map_rock_2", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_rock_2, "map_rock_2", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_rock_3, "map_rock_3", new Size(6, 5), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_roof_1, "map_roof_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_roof_1, "map_roof_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_roof_2, "map_roof_2", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_roof_2, "map_roof_2", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_roof_3, "map_roof_3", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_roof_3, "map_roof_3", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_roof_4, "map_roof_4", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_roof_5, "map_roof_5", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_shop_1, "map_shop_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_shop_1, "map_shop_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_sign_ladder_1, "map_sign_ladder_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_sign_ladder_1, "map_sign_ladder_1", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_sign_ladder_omi2, "map_sign_ladder_omi2", new Size(8, 4), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_table_1, "map_table_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_table_1, "map_table_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_table_2, "map_table_2", new Size(14, 8), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_table_2, "map_table_2", new Size(14, 8), sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_temple_1, "map_temple_1", new Size(23, 16), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_trail_1, "map_trail_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_trail_1, "map_trail_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_transition_1, "map_transition_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_transition_1, "map_transition_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_transition_2, "map_transition_2", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_transition_2, "map_transition_2", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_transition_3, "map_transition_3", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_transition_3, "map_transition_3", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_transition_4, "map_transition_4", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_transition_4, "map_transition_4", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_transition_5, "map_transition_5", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_transition_5, "map_transition_5", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_transition_6, "map_transition_6", new Size(18, 8), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_tree_1, "map_tree_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_tree_1, "map_tree_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_tree_2, "map_tree_2", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_tree_2, "map_tree_2", mapTileSize, sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_tree_3, "map_tree_3", new Size(32, 17), sz1x1, mTileSize);
|
||||||
|
loader.prepareTileset(R.drawable.map_tree_4, "map_tree_4", new Size(16, 8), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_wall_1, "map_wall_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_wall_1, "map_wall_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_wall_2, "map_wall_2", new Size(15, 8), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_wall_2, "map_wall_2", new Size(15, 8), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_wall_3, "map_wall_3", new Size(15, 8), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_wall_3, "map_wall_3", new Size(15, 8), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_wall_4, "map_wall_4", new Size(15, 8), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_wall_4, "map_wall_4", new Size(15, 8), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_window_1, "map_window_1", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_window_1, "map_window_1", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_window_2, "map_window_2", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_window_2, "map_window_2", mapTileSize, sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_guynmart, "map_guynmart", mapTileSize, sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.map_items_japozero, "map_items_japozero", new Size(16, 37), sz1x1, mTileSize);
|
||||||
loader.prepareTileset(R.drawable.map_cavewall_5, "map_cavewall_5", new Size(6, 6), sz1x1, mTileSize);
|
|
||||||
loader.prepareTileset(R.drawable.map_rock_3, "map_rock_3", new Size(6, 5), sz1x1, mTileSize);
|
|
||||||
loader.prepareTileset(R.drawable.map_sign_ladder_omi2, "map_sign_ladder_omi2", new Size(8, 4), sz1x1, mTileSize);
|
|
||||||
loader.prepareTileset(R.drawable.map_transition_6, "map_transition_6", new Size(18, 8), sz1x1, mTileSize);
|
|
||||||
loader.prepareTileset(R.drawable.map_ratdom, "map_ratdom", new Size(18, 6), sz1x1, mTileSize);
|
|
||||||
/*INSERT_MAP_TILESETS_HERE*/
|
/*INSERT_MAP_TILESETS_HERE*/
|
||||||
|
|
||||||
loader.prepareTileset(R.drawable.effect_blood4, "effect_blood4", new Size(7, 2), sz1x1, mTileSize);
|
loader.prepareTileset(R.drawable.effect_blood4, "effect_blood4", new Size(7, 2), sz1x1, mTileSize);
|
||||||
|
|||||||
@@ -39,6 +39,12 @@ public final class DropListParser extends JsonCollectionParserFor<DropList> {
|
|||||||
if (items == null) {
|
if (items == null) {
|
||||||
L.log("OPTIMIZE: Droplist \"" + droplistID + "\" has no dropped items.");
|
L.log("OPTIMIZE: Droplist \"" + droplistID + "\" has no dropped items.");
|
||||||
}
|
}
|
||||||
|
for (int i = 0; i < items.length; i++) {
|
||||||
|
DropItem item = items[i];
|
||||||
|
if (item.itemType == null) {
|
||||||
|
L.log("Item at index " + i + " in droplist " + droplistID + " was null");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Pair<String, DropList>(droplistID, new DropList(items));
|
return new Pair<String, DropList>(droplistID, new DropList(items));
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ import android.graphics.Bitmap;
|
|||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
import android.util.SparseIntArray;
|
import android.util.SparseIntArray;
|
||||||
|
|
||||||
|
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
|
||||||
|
import com.gpl.rpg.AndorsTrail.util.L;
|
||||||
import com.gpl.rpg.AndorsTrail.util.LruCache;
|
import com.gpl.rpg.AndorsTrail.util.LruCache;
|
||||||
|
|
||||||
public final class TileCache {
|
public final class TileCache {
|
||||||
@@ -39,7 +41,12 @@ public final class TileCache {
|
|||||||
tileIDsPerLocalID.put(localID, tileID);
|
tileIDsPerLocalID.put(localID, tileID);
|
||||||
}
|
}
|
||||||
public int getTileID(String tileSetName, int localID) {
|
public int getTileID(String tileSetName, int localID) {
|
||||||
return tileIDsPerTilesetAndLocalID.get(tileSetName).get(localID);
|
|
||||||
|
SparseIntArray sparseIntArray = tileIDsPerTilesetAndLocalID.get(tileSetName);
|
||||||
|
if(AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES && sparseIntArray == null){
|
||||||
|
L.log("Could not get tile " + tileSetName + " " + localID);
|
||||||
|
}
|
||||||
|
return sparseIntArray.get(localID);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final class ResourceFileTile {
|
private static final class ResourceFileTile {
|
||||||
@@ -67,6 +74,9 @@ public final class TileCache {
|
|||||||
HashMap<ResourceFileTileset, SparseArray<ResourceFileTile>> tilesToLoadPerSourceFile = new HashMap<ResourceFileTileset, SparseArray<ResourceFileTile>>();
|
HashMap<ResourceFileTileset, SparseArray<ResourceFileTile>> tilesToLoadPerSourceFile = new HashMap<ResourceFileTileset, SparseArray<ResourceFileTile>>();
|
||||||
for(int tileID : iconIDs) {
|
for(int tileID : iconIDs) {
|
||||||
ResourceFileTile tile = resourceTiles[tileID];
|
ResourceFileTile tile = resourceTiles[tileID];
|
||||||
|
if(tile == null && AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES){
|
||||||
|
L.log("could not find resourceTiles for id: " + tileID);
|
||||||
|
}
|
||||||
SparseArray<ResourceFileTile> tiles = tilesToLoadPerSourceFile.get(tile.tileset);
|
SparseArray<ResourceFileTile> tiles = tilesToLoadPerSourceFile.get(tile.tileset);
|
||||||
if (tiles == null) {
|
if (tiles == null) {
|
||||||
tiles = new SparseArray<TileCache.ResourceFileTile>();
|
tiles = new SparseArray<TileCache.ResourceFileTile>();
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import android.os.AsyncTask;
|
|||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
|
||||||
import com.gpl.rpg.AndorsTrail.AndorsTrailPreferences;
|
import com.gpl.rpg.AndorsTrail.AndorsTrailPreferences;
|
||||||
import com.gpl.rpg.AndorsTrail.R;
|
import com.gpl.rpg.AndorsTrail.R;
|
||||||
import com.gpl.rpg.AndorsTrail.context.WorldContext;
|
import com.gpl.rpg.AndorsTrail.context.WorldContext;
|
||||||
@@ -33,6 +34,7 @@ import com.gpl.rpg.AndorsTrail.model.map.MapObject;
|
|||||||
import com.gpl.rpg.AndorsTrail.model.map.MonsterSpawnArea;
|
import com.gpl.rpg.AndorsTrail.model.map.MonsterSpawnArea;
|
||||||
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
|
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
|
||||||
import com.gpl.rpg.AndorsTrail.model.map.TMXMapTranslator;
|
import com.gpl.rpg.AndorsTrail.model.map.TMXMapTranslator;
|
||||||
|
import com.gpl.rpg.AndorsTrail.util.L;
|
||||||
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
|
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
|
||||||
|
|
||||||
public final class TileManager {
|
public final class TileManager {
|
||||||
@@ -374,6 +376,10 @@ public final class TileManager {
|
|||||||
cachedTileIDs = getTileIDsFor(adjacentMap, adjacentMapTiles, world);
|
cachedTileIDs = getTileIDsFor(adjacentMap, adjacentMapTiles, world);
|
||||||
tileIDsPerMap.put(mapName, cachedTileIDs);
|
tileIDsPerMap.put(mapName, cachedTileIDs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES){
|
||||||
|
L.log("TileIDsFor " + mapName + "\n" + cachedTileIDs);
|
||||||
|
}
|
||||||
dest.addAll(cachedTileIDs);
|
dest.addAll(cachedTileIDs);
|
||||||
}
|
}
|
||||||
public void cacheAdjacentMaps(final Resources res, final WorldContext world, final PredefinedMap nextMap) {
|
public void cacheAdjacentMaps(final Resources res, final WorldContext world, final PredefinedMap nextMap) {
|
||||||
@@ -391,6 +397,9 @@ public final class TileManager {
|
|||||||
|
|
||||||
HashSet<Integer> tileIDs = new HashSet<Integer>();
|
HashSet<Integer> tileIDs = new HashSet<Integer>();
|
||||||
for (String mapName : adjacentMapNames) {
|
for (String mapName : adjacentMapNames) {
|
||||||
|
if(AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES){
|
||||||
|
L.log("addTileIDsFor " + mapName);
|
||||||
|
}
|
||||||
addTileIDsFor(tileIDs, mapName, res, world);
|
addTileIDsFor(tileIDs, mapName, res, world);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,13 +61,9 @@ public final class TraitsInfoView {
|
|||||||
tv.setText(Integer.toString(attackCost));
|
tv.setText(Integer.toString(attackCost));
|
||||||
|
|
||||||
row = (TableRow) group.findViewById(R.id.traitsinfo_attack_chance_row);
|
row = (TableRow) group.findViewById(R.id.traitsinfo_attack_chance_row);
|
||||||
if (attackChance == 0) {
|
tv = (TextView) group.findViewById(R.id.traitsinfo_attack_chance);
|
||||||
row.setVisibility(View.GONE);
|
tv.setText(Integer.toString(attackChance));
|
||||||
} else {
|
|
||||||
row.setVisibility(View.VISIBLE);
|
|
||||||
tv = (TextView) group.findViewById(R.id.traitsinfo_attack_chance);
|
|
||||||
tv.setText(Integer.toString(attackChance));
|
|
||||||
}
|
|
||||||
|
|
||||||
row = (TableRow) group.findViewById(R.id.traitsinfo_attack_damage_row);
|
row = (TableRow) group.findViewById(R.id.traitsinfo_attack_damage_row);
|
||||||
if (damagePotential != null && damagePotential.max != 0) {
|
if (damagePotential != null && damagePotential.max != 0) {
|
||||||
|
|||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
BIN
AndorsTrail/assets/translation/mr.mo
Normal file
BIN
AndorsTrail/assets/translation/mr.mo
Normal file
Binary file not shown.
77011
AndorsTrail/assets/translation/mr.po
Normal file
77011
AndorsTrail/assets/translation/mr.po
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user