Compare commits
752 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68e21856cf | ||
|
|
c8d0361837 | ||
|
|
6b032d6a2c | ||
|
|
9499a75676 | ||
|
|
b121bdb426 | ||
|
|
7b3a543ae5 | ||
|
|
8e5e50662a | ||
|
|
7e129b3895 | ||
|
|
82ed737b34 | ||
|
|
792a86da60 | ||
|
|
39821e9ad3 | ||
|
|
d729c543f9 | ||
|
|
e401a3c865 | ||
|
|
b928ecf24c | ||
|
|
db5d1420f9 | ||
|
|
40af912312 | ||
|
|
487647df85 | ||
|
|
8cd8b7c26e | ||
|
|
44d2127800 | ||
|
|
8e19e96a9e | ||
|
|
f89933bb46 | ||
|
|
3944d81cfc | ||
|
|
10c0515c88 | ||
|
|
27fce1d1a4 | ||
|
|
8df28b07b1 | ||
|
|
cecf5cffac | ||
|
|
3708d81815 | ||
|
|
f6ee1ebab1 | ||
|
|
d00ffe72b9 | ||
|
|
de33244ae7 | ||
|
|
7f32842e76 | ||
|
|
f5f647c7ce | ||
|
|
82cbf3b09f | ||
|
|
fb6bedc101 | ||
|
|
b2dd555117 | ||
|
|
594cfefeed | ||
|
|
a46f82420f | ||
|
|
8c5759821e | ||
|
|
29c79abc22 | ||
|
|
01c57fa483 | ||
|
|
fa249efac1 | ||
|
|
31562ba067 | ||
|
|
be77b5f294 | ||
|
|
84f91d58db | ||
|
|
fe0cb90769 | ||
|
|
dce9bf1e63 | ||
|
|
93e95a0c39 | ||
|
|
801aa12743 | ||
|
|
82986bdeaa | ||
|
|
13bfb902db | ||
|
|
22665023f7 | ||
|
|
16736c94bc | ||
|
|
5f3b2ffc25 | ||
|
|
1e99d8cbbb | ||
|
|
f1e0548d0e | ||
|
|
b79bfa46cc | ||
|
|
c1be829f0e | ||
|
|
8b50536aae | ||
|
|
4d0952c716 | ||
|
|
ad8ef2df11 | ||
|
|
354410dbd2 | ||
|
|
1ade00462d | ||
|
|
82f83ea1ec | ||
|
|
e9b2f40d04 | ||
|
|
96cae14b09 | ||
|
|
344079deda | ||
|
|
4a2def8df1 | ||
|
|
5989221305 | ||
|
|
7d60855a7f | ||
|
|
74cd74f869 | ||
|
|
29e4500ce6 | ||
|
|
49651cca4f | ||
|
|
5273dac899 | ||
|
|
b9af85442b | ||
|
|
1ee2f01fbc | ||
|
|
725d587566 | ||
|
|
5d399f1203 | ||
|
|
e40ab453a6 | ||
|
|
edfd638cc4 | ||
|
|
0c10389333 | ||
|
|
1115118a13 | ||
|
|
0b480e7a71 | ||
|
|
c09585eaf7 | ||
|
|
0f7137d43a | ||
|
|
5e5026ea68 | ||
|
|
2cbd18ef7e | ||
|
|
891fd57053 | ||
|
|
5e016e88df | ||
|
|
32cccb358b | ||
|
|
1a23580648 | ||
|
|
b095438681 | ||
|
|
0728722f37 | ||
|
|
a45d4fe9f2 | ||
|
|
1a423e11e7 | ||
|
|
b29a42719c | ||
|
|
06b11056c8 | ||
|
|
2cbf6b732e | ||
|
|
d60b087c25 | ||
|
|
11b9897f88 | ||
|
|
d71012f452 | ||
|
|
5b9ad89abb | ||
|
|
46b833f11d | ||
|
|
5aad3f1775 | ||
|
|
d6654637bc | ||
|
|
5dd208fdca | ||
|
|
0726f01808 | ||
|
|
97be595725 | ||
|
|
01ec6e3c4d | ||
|
|
f470ab7f44 | ||
|
|
ddbdf2d244 | ||
|
|
a3c6c63be8 | ||
|
|
1c82f5fd7e | ||
|
|
9ea77528ef | ||
|
|
7c83a4f9f3 | ||
|
|
a9684f31e6 | ||
|
|
e2505d0416 | ||
|
|
6951a5e088 | ||
|
|
6062d3f169 | ||
|
|
6d3bb566be | ||
|
|
68d549e697 | ||
|
|
fe34619652 | ||
|
|
4cb3383c4a | ||
|
|
89d35f09fa | ||
|
|
13975cc5db | ||
|
|
77d563d082 | ||
|
|
e450968bef | ||
|
|
b2d496798f | ||
|
|
a962954c5e | ||
|
|
19d008d0f8 | ||
|
|
07a43e0ca3 | ||
|
|
9103a66651 | ||
|
|
45e4175ba6 | ||
|
|
81ca14d549 | ||
|
|
771f37138c | ||
|
|
a07ca7f365 | ||
|
|
04e552994d | ||
|
|
8799369066 | ||
|
|
340ec706b0 | ||
|
|
10a125c407 | ||
|
|
13da9bb9c7 | ||
|
|
f60583542e | ||
|
|
520f1c7d3a | ||
|
|
fe028b4534 | ||
|
|
8c223cd2c2 | ||
|
|
426be8f3c1 | ||
|
|
1a2beedb68 | ||
|
|
20ea7fe2ff | ||
|
|
84a7c282ee | ||
|
|
dd9c91be0c | ||
|
|
2c22dadddf | ||
|
|
af2e609fff | ||
|
|
f0dd933ef6 | ||
|
|
8a26ae009e | ||
|
|
65bb31b56f | ||
|
|
4b817e6e90 | ||
|
|
10b2713093 | ||
|
|
c990296cf6 | ||
|
|
05f634228e | ||
|
|
c2e599f91e | ||
|
|
325f19d30b | ||
|
|
fb4ecf6a00 | ||
|
|
60d5233782 | ||
|
|
69729e3e83 | ||
|
|
f4da9718c5 | ||
|
|
bbbfe43120 | ||
|
|
6a466293ac | ||
|
|
1eec3bdfde | ||
|
|
949752451c | ||
|
|
8582258cae | ||
|
|
435e8c3747 | ||
|
|
f693e32bd6 | ||
|
|
658345c9ff | ||
|
|
9647dea346 | ||
|
|
4f9070ee53 | ||
|
|
b5f3fafaac | ||
|
|
f169ed82a3 | ||
|
|
42d341a925 | ||
|
|
4b23552ea8 | ||
|
|
9d75b706d5 | ||
|
|
0f9688f5da | ||
|
|
148dc49817 | ||
|
|
310caebc34 | ||
|
|
1d384961dd | ||
|
|
5f32b81ab8 | ||
|
|
efa3bfff12 | ||
|
|
2650ec2f3e | ||
|
|
5c9df8d9a2 | ||
|
|
2700162d1f | ||
|
|
770d02b19b | ||
|
|
48f4088894 | ||
|
|
033933d3a2 | ||
|
|
e5de8f764c | ||
|
|
2837f54688 | ||
|
|
7c54eb48cb | ||
|
|
63cb55acb6 | ||
|
|
a8fdd98a0e | ||
|
|
2f93ef9c6d | ||
|
|
41880fe815 | ||
|
|
6dd5800701 | ||
|
|
9d80d7e71a | ||
|
|
7caa24859c | ||
|
|
0d44b8e7dd | ||
|
|
ac7310602e | ||
|
|
ab3d8ef415 | ||
|
|
aa647cce67 | ||
|
|
c3f32f5f5a | ||
|
|
8cd095bf34 | ||
|
|
1904e37ff1 | ||
|
|
e9b5fb2c81 | ||
|
|
249f715c87 | ||
|
|
adaaeb0e8e | ||
|
|
84d99ac690 | ||
|
|
50988c6c60 | ||
|
|
79c32a5906 | ||
|
|
fc769c48a7 | ||
|
|
ff2ccdbde3 | ||
|
|
4f388b2c87 | ||
|
|
39363291a4 | ||
|
|
ed6d657d90 | ||
|
|
04dd5a8bfb | ||
|
|
0217eaf173 | ||
|
|
4be93daa83 | ||
|
|
b5b3ca7be0 | ||
|
|
d6ed40d3d3 | ||
|
|
ae8b6a0252 | ||
|
|
102498f130 | ||
|
|
c7df5114e7 | ||
|
|
2e41f675cc | ||
|
|
958868526f | ||
|
|
6c22a3b210 | ||
|
|
a5e5b20a19 | ||
|
|
914621251c | ||
|
|
a3a7b5f8fd | ||
|
|
349fe30747 | ||
|
|
f3a59b5649 | ||
|
|
b4fe68b53d | ||
|
|
be0df77be9 | ||
|
|
80c2bb1eaa | ||
|
|
330318fa2a | ||
|
|
b4b346e7a6 | ||
|
|
2adeb7334e | ||
|
|
d7053ca2e5 | ||
|
|
816cd3f3bf | ||
|
|
62d8a17152 | ||
|
|
17305a6cd8 | ||
|
|
f55a206271 | ||
|
|
c577383573 | ||
|
|
a616664af2 | ||
|
|
9dde7aee95 | ||
|
|
ade98f730b | ||
|
|
45cff64d91 | ||
|
|
88846f5d36 | ||
|
|
42d9e8967f | ||
|
|
5bb9cd6492 | ||
|
|
3437fa5edf | ||
|
|
34b2e074bb | ||
|
|
1a7a8bdc14 | ||
|
|
d1487a9801 | ||
|
|
6beefb829c | ||
|
|
aa9b2e7008 | ||
|
|
d4d34498ad | ||
|
|
1625d55de5 | ||
|
|
f4e7ccccfd | ||
|
|
3a007fd8af | ||
|
|
fccd34dc87 | ||
|
|
b639efd8ed | ||
|
|
3b75740163 | ||
|
|
11897da80c | ||
|
|
843ca083d5 | ||
|
|
cb70036cb1 | ||
|
|
63878e9693 | ||
|
|
cf412c947c | ||
|
|
1614868b5d | ||
|
|
170e4be0ca | ||
|
|
377dd80a05 | ||
|
|
030bc38516 | ||
|
|
fc9aff80dd | ||
|
|
76871a3f24 | ||
|
|
48a027e276 | ||
|
|
31d4f05552 | ||
|
|
6b26737cd2 | ||
|
|
c2a20e1526 | ||
|
|
1e3313068f | ||
|
|
674cfff070 | ||
|
|
6d7d580fa3 | ||
|
|
3927c2d78c | ||
|
|
bb27cb17fb | ||
|
|
ed376d329c | ||
|
|
f56cf03b6a | ||
|
|
a1e4bbc3c1 | ||
|
|
3c4479b63a | ||
|
|
edb338da88 | ||
|
|
57bd4d9a91 | ||
|
|
5b3380a43b | ||
|
|
21a32b196d | ||
|
|
e93bc64ef3 | ||
|
|
396e55a39d | ||
|
|
2a40606be7 | ||
|
|
a26f67bf16 | ||
|
|
c801191d80 | ||
|
|
2aef80864a | ||
|
|
9e0da6a283 | ||
|
|
4a3631ded3 | ||
|
|
cf2454466f | ||
|
|
b472639da0 | ||
|
|
70469dafb5 | ||
|
|
72e364a38d | ||
|
|
755b8a2f1b | ||
|
|
657e02efe4 | ||
|
|
4a3dfd975f | ||
|
|
6ba5cc888f | ||
|
|
564601fafe | ||
|
|
adc6b2a176 | ||
|
|
6604765890 | ||
|
|
94ef5124d0 | ||
|
|
1de0693402 | ||
|
|
71fec6780c | ||
|
|
98d8aca91a | ||
|
|
fc8f6a218e | ||
|
|
d205d80ad2 | ||
|
|
8316d91469 | ||
|
|
351a6ed6c0 | ||
|
|
0547e1e469 | ||
|
|
1553d7b70f | ||
|
|
9154aeda58 | ||
|
|
3601e97d3b | ||
|
|
f4cf63572d | ||
|
|
380f300d74 | ||
|
|
25aca4328b | ||
|
|
1d74efcd08 | ||
|
|
660a35a468 | ||
|
|
d7a66f72e8 | ||
|
|
48ba0aaf27 | ||
|
|
e6801e1599 | ||
|
|
95a74a9917 | ||
|
|
2056cd3e91 | ||
|
|
63b23d9e65 | ||
|
|
4895cd27a4 | ||
|
|
137e9dd99e | ||
|
|
0e4f875443 | ||
|
|
84b8fe0b27 | ||
|
|
58ad947443 | ||
|
|
f7da3c94f9 | ||
|
|
69f3c72101 | ||
|
|
c705b8fe80 | ||
|
|
99d7f54bd9 | ||
|
|
850d270260 | ||
|
|
7becfb311d | ||
|
|
02f8f6fadd | ||
|
|
1053c582fa | ||
|
|
ab56a4fa8b | ||
|
|
a92b9abf54 | ||
|
|
5cacd486da | ||
|
|
3f0db672d6 | ||
|
|
0c5166ac39 | ||
|
|
285e4e7be5 | ||
|
|
c2c5c20d92 | ||
|
|
1551bdaaaa | ||
|
|
ce2c442402 | ||
|
|
41a74817f7 | ||
|
|
f787832772 | ||
|
|
ce1c188b1a | ||
|
|
e20f6e3209 | ||
|
|
4a12d6aba2 | ||
|
|
96ebdcce46 | ||
|
|
fb928792e4 | ||
|
|
c8e3d5b512 | ||
|
|
819fa6537b | ||
|
|
173e390755 | ||
|
|
88adfbc8df | ||
|
|
1397f3834f | ||
|
|
d78b57ad9b | ||
|
|
f786c6fde8 | ||
|
|
892a122563 | ||
|
|
6669a5b073 | ||
|
|
96fb6f057a | ||
|
|
4200f0ca59 | ||
|
|
a1d0783f7a | ||
|
|
bdf8c589de | ||
|
|
c9656d4410 | ||
|
|
0b1da5a1d0 | ||
|
|
87b515ee75 | ||
|
|
504e2b8cbf | ||
|
|
05684c92dc | ||
|
|
61f6e354a8 | ||
|
|
75afb5e90b | ||
|
|
afa26ccf97 | ||
|
|
722f18a587 | ||
|
|
cb30e391a0 | ||
|
|
4d761f3958 | ||
|
|
d0e65b0a1e | ||
|
|
bee235a65c | ||
|
|
7e1af5d87c | ||
|
|
82557ff032 | ||
|
|
9d2f0c9548 | ||
|
|
857232fb52 | ||
|
|
ef68f8377a | ||
|
|
3293196707 | ||
|
|
d24e253435 | ||
|
|
5cc5780f28 | ||
|
|
ed011bed4c | ||
|
|
35168d2ecb | ||
|
|
cac5ee38b5 | ||
|
|
5d2b3efe12 | ||
|
|
58e69ce8df | ||
|
|
fd3a2099bc | ||
|
|
c6d23205bd | ||
|
|
577d37ced3 | ||
|
|
f1cd119465 | ||
|
|
834f8bb659 | ||
|
|
d77fd2e69e | ||
|
|
3e51fadc09 | ||
|
|
40a8411090 | ||
|
|
dbb14a2861 | ||
|
|
e722d4a0e5 | ||
|
|
b95c3233d6 | ||
|
|
5e9b3d2c4e | ||
|
|
3c252ac4c2 | ||
|
|
b1ed88476c | ||
|
|
009bac7802 | ||
|
|
5537959b19 | ||
|
|
610d7f1fef | ||
|
|
1b0bae6954 | ||
|
|
3e912900fb | ||
|
|
48fedb48c7 | ||
|
|
05486943b7 | ||
|
|
9a62b97a67 | ||
|
|
cf966308f6 | ||
|
|
5a60cb4cdb | ||
|
|
c671ea8f83 | ||
|
|
d74bc17c8b | ||
|
|
78ff49ced5 | ||
|
|
1f826b5ba7 | ||
|
|
f9c2e40f13 | ||
|
|
8c00a1e857 | ||
|
|
b9d00dba6d | ||
|
|
e9a6882bc3 | ||
|
|
8510ebfb27 | ||
|
|
c7308b82b0 | ||
|
|
b185544518 | ||
|
|
9415c61d75 | ||
|
|
1c79f046cb | ||
|
|
05e7c64e0e | ||
|
|
c34a68896d | ||
|
|
62f5aa8e82 | ||
|
|
a238dc27e5 | ||
|
|
1bcb41a267 | ||
|
|
f4c02a4237 | ||
|
|
1686a9e45b | ||
|
|
ac99ace874 | ||
|
|
963c6de4cd | ||
|
|
6c096bb63b | ||
|
|
6cab3b07c9 | ||
|
|
400c1e5347 | ||
|
|
dc8bbfc603 | ||
|
|
f79f115b58 | ||
|
|
5ac5932d3a | ||
|
|
effe4a401c | ||
|
|
57a37d9094 | ||
|
|
3350d6c106 | ||
|
|
9e6e31cfb2 | ||
|
|
2818a1870e | ||
|
|
0f415a3745 | ||
|
|
98f7b45a21 | ||
|
|
5e2f75a078 | ||
|
|
1bcb16bafb | ||
|
|
185b468cb4 | ||
|
|
280152479d | ||
|
|
0de1a41c5a | ||
|
|
f9af8d3654 | ||
|
|
d1e2f87cc2 | ||
|
|
a3cf8e1e4f | ||
|
|
2fe99efee0 | ||
|
|
6dfc8dd52c | ||
|
|
7c4c7b6f63 | ||
|
|
3573f64ae1 | ||
|
|
242f1ecfe2 | ||
|
|
c5452cda64 | ||
|
|
1aca4a9ff5 | ||
|
|
8fa3c79be7 | ||
|
|
0253384bf9 | ||
|
|
c710057db1 | ||
|
|
cc671dd710 | ||
|
|
29d1dcd196 | ||
|
|
a37b300530 | ||
|
|
c321490a8a | ||
|
|
4f1361b71f | ||
|
|
23c3736bd5 | ||
|
|
4df28023b5 | ||
|
|
08d686f156 | ||
|
|
35c70a16b5 | ||
|
|
b3200937da | ||
|
|
bc555ac514 | ||
|
|
cbf55b6ecf | ||
|
|
12a9237016 | ||
|
|
31caa7e056 | ||
|
|
ea8896bc17 | ||
|
|
324d2817f5 | ||
|
|
1cd725586f | ||
|
|
74f227590e | ||
|
|
fb99661d5d | ||
|
|
d9941e1be2 | ||
|
|
12f08c410d | ||
|
|
5d676387bc | ||
|
|
deba0b41ef | ||
|
|
da84b8598b | ||
|
|
9ebca51c1a | ||
|
|
e9522743f4 | ||
|
|
53f6235125 | ||
|
|
ad9a8c9c26 | ||
|
|
85e46c06db | ||
|
|
49e4a35b3e | ||
|
|
24c4f4c8de | ||
|
|
461310dfba | ||
|
|
1620cbdbd8 | ||
|
|
7184119409 | ||
|
|
c337976413 | ||
|
|
000fe8cf4e | ||
|
|
dfed11c6a8 | ||
|
|
26a387ea36 | ||
|
|
10eb549012 | ||
|
|
187623b6a8 | ||
|
|
b787c09705 | ||
|
|
104de39a04 | ||
|
|
3291e23ca6 | ||
|
|
674a449c10 | ||
|
|
3cbac8e6ea | ||
|
|
5633d217a6 | ||
|
|
bc49620b23 | ||
|
|
be577df2ec | ||
|
|
476b73375a | ||
|
|
11562a541c | ||
|
|
a5e40f9a8a | ||
|
|
13d121e45d | ||
|
|
cb8f9ecf43 | ||
|
|
025001993d | ||
|
|
074039d2c5 | ||
|
|
b8fbc79306 | ||
|
|
1ce37e3bea | ||
|
|
25926b0aec | ||
|
|
b58b93ac98 | ||
|
|
13b6a6b25c | ||
|
|
d0fac726d3 | ||
|
|
d6aa111f16 | ||
|
|
7165449da8 | ||
|
|
1389d55e35 | ||
|
|
c969e40fbf | ||
|
|
59ccef98fb | ||
|
|
e344a94946 | ||
|
|
0ce185e42c | ||
|
|
d666a350f6 | ||
|
|
2ff899e23e | ||
|
|
7d1afc99fe | ||
|
|
d44275a1f6 | ||
|
|
5853ffc15d | ||
|
|
4bd94f8ea6 | ||
|
|
a0e182b142 | ||
|
|
bb63a85d6f | ||
|
|
8995342b94 | ||
|
|
ae3fb4b004 | ||
|
|
275dbe3631 | ||
|
|
970061358b | ||
|
|
6c74d4a287 | ||
|
|
6a05325c75 | ||
|
|
09c0731392 | ||
|
|
9f953fab0e | ||
|
|
8df24aedab | ||
|
|
c57a6a3d0d | ||
|
|
a7b096ab9b | ||
|
|
44095088ee | ||
|
|
4f6e3793b8 | ||
|
|
fb31ddc81f | ||
|
|
784c6715ad | ||
|
|
2b33917b91 | ||
|
|
8d1923acfd | ||
|
|
20864d3c53 | ||
|
|
9a7210614b | ||
|
|
b5e5d44808 | ||
|
|
fc143276fe | ||
|
|
a56343b7e3 | ||
|
|
caa0554127 | ||
|
|
64b8fc4466 | ||
|
|
b892836e94 | ||
|
|
64a28f5650 | ||
|
|
70a17007b6 | ||
|
|
fdf92e108d | ||
|
|
c2339dc83b | ||
|
|
2eca3164b8 | ||
|
|
69f71e4959 | ||
|
|
5589003a80 | ||
|
|
1edb0b152e | ||
|
|
e969a5a352 | ||
|
|
d51f7f4448 | ||
|
|
c3a719cd4b | ||
|
|
acc05bfcef | ||
|
|
b7dc5dd6f2 | ||
|
|
84fa4ecac8 | ||
|
|
ec97bc8316 | ||
|
|
8c4ace6c17 | ||
|
|
c8099cd11d | ||
|
|
392d3cfe86 | ||
|
|
effc0a27dc | ||
|
|
f07110ed26 | ||
|
|
65a54cbd8b | ||
|
|
c398ba4484 | ||
|
|
d7cd98f636 | ||
|
|
1707ac7e1e | ||
|
|
44796bc8c0 | ||
|
|
0fdbe5d34f | ||
|
|
5af761b841 | ||
|
|
591bd0c3af | ||
|
|
c0faf69a42 | ||
|
|
c5f3f3aecf | ||
|
|
28cc2838a8 | ||
|
|
89e3bcd11b | ||
|
|
acb9054dcb | ||
|
|
43d322c634 | ||
|
|
6cc75a106b | ||
|
|
08c61bfb91 | ||
|
|
4c4b6eda3a | ||
|
|
7f42b84432 | ||
|
|
75be2b16c9 | ||
|
|
07b6a16000 | ||
|
|
c5d681dcc7 | ||
|
|
7129e36901 | ||
|
|
a429410340 | ||
|
|
867cecc01e | ||
|
|
dd9d5c89e1 | ||
|
|
d487a2e72e | ||
|
|
391b61be95 | ||
|
|
240546ac00 | ||
|
|
4413c06a82 | ||
|
|
1d3dfc3110 | ||
|
|
6216d003b6 | ||
|
|
677d984267 | ||
|
|
2744a24951 | ||
|
|
1d5e80c131 | ||
|
|
e3ce7d0a19 | ||
|
|
336300b997 | ||
|
|
420c51955e | ||
|
|
e24f95eefa | ||
|
|
72c61e412a | ||
|
|
d3ef05b37c | ||
|
|
f61241f745 | ||
|
|
a96071f9d3 | ||
|
|
febad27342 | ||
|
|
9b94437cac | ||
|
|
678d3cdf81 | ||
|
|
baa2feab14 | ||
|
|
a4f962ce57 | ||
|
|
34e680bfbd | ||
|
|
e1a7901c4c | ||
|
|
e6d5346e5e | ||
|
|
27f0f8c961 | ||
|
|
1814472214 | ||
|
|
f14d8fd921 | ||
|
|
21f148bea2 | ||
|
|
d5246e5291 | ||
|
|
18dc77c8f9 | ||
|
|
766c971339 | ||
|
|
ede56a3cf8 | ||
|
|
0e1c0d1541 | ||
|
|
2d3ae6aefc | ||
|
|
ec485bae4c | ||
|
|
86a0d06f99 | ||
|
|
80be3a936a | ||
|
|
10a580ebd3 | ||
|
|
5b133c21c9 | ||
|
|
dff77dd808 | ||
|
|
6bd92e41a6 | ||
|
|
30ab026101 | ||
|
|
206a3d8aec | ||
|
|
b9f82ebdf0 | ||
|
|
8ccf57f100 | ||
|
|
b79151c760 | ||
|
|
45cafe9984 | ||
|
|
e1601b1ae0 | ||
|
|
e972c7d40f | ||
|
|
4883e4a585 | ||
|
|
da4ac0a976 | ||
|
|
86bc8bd877 | ||
|
|
07e490c038 | ||
|
|
8027df6373 | ||
|
|
7ee774118b | ||
|
|
bb65ba927e | ||
|
|
fff6c1d51f | ||
|
|
5b6b38346c | ||
|
|
0912758d0e | ||
|
|
b0695b08a5 | ||
|
|
d7bffa4ade | ||
|
|
4fe2fc5f58 | ||
|
|
21322fdf9e | ||
|
|
d47cdac279 | ||
|
|
b3bbe934d4 | ||
|
|
480ce07ae0 | ||
|
|
1b5c0fbabe | ||
|
|
b2ad140a78 | ||
|
|
81dafa44d2 | ||
|
|
b10b2948c3 | ||
|
|
f54af02b45 | ||
|
|
66c34c7443 | ||
|
|
21a23dc9e6 | ||
|
|
005418d611 | ||
|
|
ef9b80e5af | ||
|
|
44618c2a52 | ||
|
|
a569d1f823 | ||
|
|
bf3466d4d1 | ||
|
|
65e53f19e5 | ||
|
|
fce5827c7d | ||
|
|
c90d32e35d | ||
|
|
c38278fbc1 | ||
|
|
bb3566ac81 | ||
|
|
e97e84f194 | ||
|
|
7113c4bcec | ||
|
|
a2b951d769 | ||
|
|
569042afa4 | ||
|
|
e0d7e58bda | ||
|
|
83d5c07046 | ||
|
|
6f8d0892a2 | ||
|
|
ebf95ee958 | ||
|
|
2bfa7dd5f8 | ||
|
|
ab9e8b7dcf | ||
|
|
f34e0e9dc0 | ||
|
|
9e06fe9b6f | ||
|
|
932b17a7e5 | ||
|
|
f6e8ff2936 | ||
|
|
f397064850 | ||
|
|
bcc3aef4c8 | ||
|
|
7d19ccaad8 | ||
|
|
fb7c82786a | ||
|
|
f27a51f680 | ||
|
|
78b07e5c54 | ||
|
|
4e1d91bcaf | ||
|
|
bc17caa3d0 | ||
|
|
fbb0f48101 | ||
|
|
bbfc4dce82 | ||
|
|
a9d9d1a121 | ||
|
|
626309d027 | ||
|
|
141f870ad8 | ||
|
|
d6c0847b66 | ||
|
|
0d72de7094 | ||
|
|
3b699034f9 | ||
|
|
5206f22a9c | ||
|
|
e60cf7fcc3 | ||
|
|
b4a3214c46 | ||
|
|
d88522768e | ||
|
|
03b7ca4ae4 | ||
|
|
82d6d220d4 | ||
|
|
a742d17fd1 | ||
|
|
1f32066248 | ||
|
|
647c4bad6c | ||
|
|
74dbf55da3 |
9
.github/ISSUE_TEMPLATE.md
vendored
@@ -14,7 +14,7 @@ For any suggestions, please address them on the forum: https://forum.freegamedev
|
|||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
<!-- PLease specify the version of STK you are using. The version can be found in the "About" screen. -->
|
<!-- Please specify the version of STK you are using. The version can be found in the "About" screen. -->
|
||||||
STK release version:
|
STK release version:
|
||||||
|
|
||||||
<!-- Please specify where you downloaded STK -->
|
<!-- Please specify where you downloaded STK -->
|
||||||
@@ -31,10 +31,9 @@ Gamepads/keyboards models if related to the issue:
|
|||||||
## Additional information
|
## Additional information
|
||||||
<!--
|
<!--
|
||||||
Please provide stdout.log, it is located in:
|
Please provide stdout.log, it is located in:
|
||||||
* %appdata%\supertuxkart\0.8.2 (Windows)
|
* %appdata%\supertuxkart\config-0.10 (Windows)
|
||||||
* ~/Library/Application Support/supertuxkart/0.8.2 (mac)
|
* ~/Library/Application Support/supertuxkart/config-0.10 (mac)
|
||||||
* $XDG_CONFIG_HOME/supertuxkart/0.8.2 or ~/.config/supertuxkart/0.8.2 (Linux and other unix based systems)
|
* $XDG_CONFIG_HOME/supertuxkart/config-0.10 or ~/.config/supertuxkart/config-0.10 (Linux and other unix based systems)
|
||||||
Note that in the Git/beta version the folder is 0.10-git rather than 0.8.2.
|
|
||||||
-->
|
-->
|
||||||
stdout.log:
|
stdout.log:
|
||||||
```
|
```
|
||||||
|
|||||||
11
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
## Agreement
|
||||||
|
```
|
||||||
|
By creating a pull request in stk-code, you hereby agree to dual-license your contribution as
|
||||||
|
GNU General Public License version 3 or any later version and
|
||||||
|
Mozilla Public License version 2 or any later version.
|
||||||
|
|
||||||
|
This includes your previous contribution(s) under the same name of contributor.
|
||||||
|
|
||||||
|
Keep the above statement in the pull request comment for agreement.
|
||||||
|
|
||||||
|
```
|
||||||
5
.gitignore
vendored
@@ -73,3 +73,8 @@ lib/libogg
|
|||||||
lib/libvorbis
|
lib/libvorbis
|
||||||
lib/openal
|
lib/openal
|
||||||
lib/openssl
|
lib/openssl
|
||||||
|
lib/fribidi
|
||||||
|
lib/harfbuzz
|
||||||
|
|
||||||
|
.DS_Store
|
||||||
|
supertuxkart/
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ sudo: false
|
|||||||
language: cpp
|
language: cpp
|
||||||
os:
|
os:
|
||||||
- linux
|
- linux
|
||||||
- osx
|
|
||||||
compiler:
|
compiler:
|
||||||
- gcc
|
- gcc
|
||||||
- clang
|
- clang
|
||||||
@@ -30,6 +29,7 @@ addons:
|
|||||||
- libbluetooth-dev
|
- libbluetooth-dev
|
||||||
- libcurl4-gnutls-dev
|
- libcurl4-gnutls-dev
|
||||||
- libfreetype6-dev
|
- libfreetype6-dev
|
||||||
|
- libharfbuzz-dev
|
||||||
- libfribidi-dev
|
- libfribidi-dev
|
||||||
- libgl1-mesa-dev
|
- libgl1-mesa-dev
|
||||||
- libjpeg-dev
|
- libjpeg-dev
|
||||||
@@ -46,7 +46,7 @@ before_script:
|
|||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update && brew bundle; fi
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update && brew bundle; fi
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo mkdir -p /usr/local/include/; fi
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo mkdir -p /usr/local/include/; fi
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo ln -s /System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/ /usr/local/include/GL; fi
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo ln -s /System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/ /usr/local/include/GL; fi
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export CMAKE_PREFIX_PATH=/usr/local/opt/freetype/:/usr/local/opt/curl/:/usr/local/opt/libogg/:/usr/local/opt/libogg/:/usr/local/opt/libvorbis/:/usr/local/opt/openssl\@1.1/:/usr/local/opt/glew/:/usr/local/opt/fribidi/; fi
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export CMAKE_PREFIX_PATH=/usr/local/opt/freetype/:/usr/local/opt/curl/:/usr/local/opt/libogg/:/usr/local/opt/libogg/:/usr/local/opt/libvorbis/:/usr/local/opt/openssl\@1.1/:/usr/local/opt/glew/:/usr/local/opt/fribidi/:/usr/local/opt/harfbuzz/; fi
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- mkdir "build"
|
- mkdir "build"
|
||||||
|
|||||||
2
Brewfile
@@ -7,3 +7,5 @@ brew "curl"
|
|||||||
brew "nettle"
|
brew "nettle"
|
||||||
brew "fribidi"
|
brew "fribidi"
|
||||||
brew "glew"
|
brew "glew"
|
||||||
|
brew "harfbuzz"
|
||||||
|
brew "libjpeg"
|
||||||
|
|||||||
111
CHANGELOG.md
@@ -3,9 +3,107 @@ This file documents notable changes to SuperTuxKart across versions since its in
|
|||||||
|
|
||||||
It should be kept in mind that some versions have a less complete changelog than others, and that this changelog do not list the details of the many small bugfixes and improvements which together make a significant part of the progress between releases.
|
It should be kept in mind that some versions have a less complete changelog than others, and that this changelog do not list the details of the many small bugfixes and improvements which together make a significant part of the progress between releases.
|
||||||
|
|
||||||
For similar reasons, and because some features are vastly more complex than others, attributions of main changes should not be taken as a shorcut for overall contribution.
|
For similar reasons, and because some features are vastly more complex than others, attributions of main changes should not be taken as a shortcut for overall contribution.
|
||||||
|
|
||||||
## SuperTuxKart 0.10.0 (19. April 2019)
|
## SuperTuxKart 1.1 (4. January 2020)
|
||||||
|
|
||||||
|
### Networking
|
||||||
|
* Add support for IPv6 clients and servers, by Benau
|
||||||
|
* Add AI support to local networking servers, by Benau. This AI is not as strong as the normal AI due to networking lag, but should offer enough challenge for a majority of players.
|
||||||
|
* Add support for AI bots for the server host, by Benau
|
||||||
|
* Improved handling of collisions, by Benau
|
||||||
|
* Improved support for playing addons on servers, by Benau
|
||||||
|
* Support using an IPV4 domain name to connect to a server, by Benau
|
||||||
|
* Add packet loss data to the server databases, by Benau
|
||||||
|
* New management features for server hosts, by Benau
|
||||||
|
* IP / online ID ban tables
|
||||||
|
* Server statistics
|
||||||
|
* Make the auto-end finish time more lenient, so it doesn't tank ranking score because of another player, by Alayan
|
||||||
|
* Add a player reporting function, by Benau
|
||||||
|
* Fix a bug that allowed to exceed a server's player limit if two players connected at the same time, by Benau
|
||||||
|
* Add lobby commands, by Benau
|
||||||
|
|
||||||
|
### Race gameplay and physics
|
||||||
|
* Random spawn point in local battle mode, by Aleman778
|
||||||
|
* Add an option to show everyone's items with the left characters icons, by Fouks
|
||||||
|
* Allow to choose the number of AI per team in soccer, by risostk
|
||||||
|
* In CTF mode, fix a bug that prevented scoring a point when the team's flag was in its immunity state, by Alayan
|
||||||
|
* Fix a bug that could result in the finish time being shown as 0:00:00, by Alayan
|
||||||
|
* Fix a bug that made AIs, in multiplayer and low difficulty, rubber-band towards the wrong player, by Alayan. Each player now correctly has its AIs, helping a weaker player to not be condemned to the last position.
|
||||||
|
|
||||||
|
### General
|
||||||
|
* Screen space reflection graphical effect, by samuncle
|
||||||
|
* Support unicode file paths, by Benau
|
||||||
|
* Complex text layout support, by Benau
|
||||||
|
* Add emoji support, by Benau
|
||||||
|
* Avoid "this program is not responding" warnings in Windows and Mac, by Benau
|
||||||
|
* Add a Story Mode timer, by Alayan
|
||||||
|
* Make text billboards size consistent accross resolutions, by Benau
|
||||||
|
* Don't trigger road sounds when the kart is flying, by Benau
|
||||||
|
* Remove an incorrect function call that could significantly hurt performance for Mac, by Benau
|
||||||
|
* Fix a nasty bug that made several sound effects to be played at a low volume after a crash, by Alayan
|
||||||
|
* Some code clean-up, by Alayan
|
||||||
|
* Addon skin support and skin-specified font by Benau
|
||||||
|
* Structure for allowing icon themes by Benau
|
||||||
|
* Add support for custom per-kart engine sounds, by Benau
|
||||||
|
* Fix an incorrect outdated driver warning for recent AMD cards on Windows, by Alayan
|
||||||
|
* Scripting enhancements, by deveee
|
||||||
|
* Add a continue button to cutscenes (mostly useful for touchscreen devices), by deveee
|
||||||
|
* Request the use of the performance GPU on Optimus systems, by deveee
|
||||||
|
* Fixed plural forms for translations in several languages, by deveee
|
||||||
|
* Close STK if Wayland crashes, by mstoeckl
|
||||||
|
* Support nested directories for addons, by Benau
|
||||||
|
* Various tweaks and bugfixes, including crash fixes
|
||||||
|
* Scripting preprocessing for STK version, by Benau
|
||||||
|
|
||||||
|
### Mobile
|
||||||
|
* Add a screen allowing to download official assets that can't be included in the release package because of size limits, by Benau
|
||||||
|
* The tutorial text is now tailored for touchscreen usage, instead of the main keyboard text, by Benau
|
||||||
|
* Enhanced acceleration handle, by Benau
|
||||||
|
* Allow changing touchscreen controller type in race paused dialog, by deveee
|
||||||
|
#### Android
|
||||||
|
* Various bugfixes by deveee, dos1
|
||||||
|
* Screen keyboard handling improvements, by deveee and Benau
|
||||||
|
* Allow copying text from the edit box, by Benau
|
||||||
|
* STK for Android now targets the version 29 of the API (Android 10.0), up from 26 (Android 8.0)
|
||||||
|
#### iOS
|
||||||
|
* Add iOS support, by Benau
|
||||||
|
* The Android code has been widely put to use for iOS
|
||||||
|
* Several changes or fixes to ensure proper behavior (input, screen-scaling, and more)
|
||||||
|
|
||||||
|
### User Interface
|
||||||
|
* Showing tips for players when loading and after race ends, by dumaosen
|
||||||
|
* Better scaling of many many UI elements to large resolutions, by dumaosen and others
|
||||||
|
* Show country flags for servers and players in online multiplayer, by Benau
|
||||||
|
* Add a new option to change font size on the fly, by Benau and deveee
|
||||||
|
* Scale down the lap time indicator next to the kart icons when there are many karts, by risostk
|
||||||
|
* Add icons for the available options in the race result screens, by dumaosen
|
||||||
|
* Make the highscore list scrollable, by deveee
|
||||||
|
* Display all the relevant info in the challenge dialog in Story Mode, by Alayan
|
||||||
|
* New challenge selection interface, by dumaosen
|
||||||
|
* Show the number of ranking points won or lost after a ranked race, by Benau
|
||||||
|
* Separate blurring visual effects from the main graphics presets, by Alayan
|
||||||
|
* Fix incorrect text resizing in the help menu, by Benau
|
||||||
|
* Make the custom random GP option more prominent in the track selection screen, by dumaosen
|
||||||
|
* Improvements to the scrollbars, by QwertyChouskie
|
||||||
|
* Allow sorting lists with the keyboard, by Benau
|
||||||
|
* Allow tooltip drawing outside of menus, by deveee
|
||||||
|
* Prevent some font scaling blur caused by non-integer offsets, by Benau
|
||||||
|
* Limit how long chat and in-race messages can be, by Benau and Alayan
|
||||||
|
* Add a (configurable) limit to chat message frequency, by GuillaumeBft and Benau
|
||||||
|
* Add an option to disable in-race messages only, by Alayan
|
||||||
|
* Allow to explicitly set the flip direction of tabs, by dumaosen
|
||||||
|
* Allow to download addons from the server lobby interface, by Benau
|
||||||
|
* Many minor tweaks and bugfixes
|
||||||
|
|
||||||
|
### Tracks and modeling
|
||||||
|
#### Tracks
|
||||||
|
* A handful of minor graphical fixes and enhancements
|
||||||
|
* Fixed checklines that could be missed too easily in XR591 and the Old Mine.
|
||||||
|
#### Arenas
|
||||||
|
* Pumpkin Park, by samuncle
|
||||||
|
|
||||||
|
## SuperTuxKart 1.0 (20. April 2019)
|
||||||
### Networking
|
### Networking
|
||||||
* Networking support for normal race, time trial, free for all, capture the flag and soccer by Benau and hiker :
|
* Networking support for normal race, time trial, free for all, capture the flag and soccer by Benau and hiker :
|
||||||
* Access to a global server list, possibility to also create a LAN server
|
* Access to a global server list, possibility to also create a LAN server
|
||||||
@@ -80,14 +178,17 @@ For similar reasons, and because some features are vastly more complex than othe
|
|||||||
#### Tracks
|
#### Tracks
|
||||||
* Black Forest by Sven Andreas Belting, replacing Green Valley
|
* Black Forest by Sven Andreas Belting, replacing Green Valley
|
||||||
* Ravenbridge Mansion by samuncle, replacing Black Hill Mansion
|
* Ravenbridge Mansion by samuncle, replacing Black Hill Mansion
|
||||||
* Las Dunas Soccer by samuncle
|
|
||||||
* Candela City arena by Benau based on samuncle's track
|
|
||||||
* Unwanted shortcuts and exploits found by several players and fixed mostly by Auria in many tracks :
|
* Unwanted shortcuts and exploits found by several players and fixed mostly by Auria in many tracks :
|
||||||
* Antediluvian Abyss, Around the Lighthouse, Fort Magma, Grand Paradisio Island, Hacienda, Minigolf, Nessie's Pond, Northern Resort, The Old Mine, Oliver's Math Class, Shifting Sands, STK Enterprise, XR591
|
* Antediluvian Abyss, Around the Lighthouse, Fort Magma, Grand Paradisio Island, Hacienda, Minigolf, Nessie's Pond, Northern Resort, The Old Mine, Oliver's Math Class, Shifting Sands, STK Enterprise, XR591
|
||||||
* Smoothness issues causing collisions and kart slowdown fixed by Auria :
|
* Smoothness issues causing collisions and kart slowdown fixed by Auria :
|
||||||
* Nessie's Pond, Old Mine, Shifting Sands, Volcano Island, XR591
|
* Nessie's Pond, Old Mine, Shifting Sands, Volcano Island, XR591
|
||||||
* Item (boxes, nitro, bananas) positions improvement by Alayan and theThomasPat :
|
* Item (boxes, nitro, bananas) positions improvement by Alayan and theThomasPat :
|
||||||
* Around the Lighthouse, Black Forest, Candela City, Hacienda, Minigolf, Northern Resort, Oliver's Math Class, STK Enterprise, The Old Mine, Volcano Island, Zen Garden
|
* Around the Lighthouse, Black Forest, Candela City, Hacienda, Minigolf, Northern Resort, Oliver's Math Class, STK Enterprise, The Old Mine, Volcano Island, Zen Garden
|
||||||
|
|
||||||
|
#### Arenas
|
||||||
|
* Las Dunas Soccer, by samuncle
|
||||||
|
* Candela City arena by Benau, based on samuncle's track
|
||||||
|
|
||||||
#### Karts
|
#### Karts
|
||||||
* New version of Beastie by Jymis
|
* New version of Beastie by Jymis
|
||||||
* New version of Kiki by Benau
|
* New version of Kiki by Benau
|
||||||
@@ -383,7 +484,7 @@ Too many to list them all. Main points:
|
|||||||
* Improved AI
|
* Improved AI
|
||||||
* New GUI handling, including resolution switching GUI
|
* New GUI handling, including resolution switching GUI
|
||||||
* Improved input handling
|
* Improved input handling
|
||||||
* Jump and look-back featue
|
* Jump and look-back feature
|
||||||
* Additional music and main theme
|
* Additional music and main theme
|
||||||
### Tracks and modeling
|
### Tracks and modeling
|
||||||
#### Karts
|
#### Karts
|
||||||
|
|||||||
202
CMakeLists.txt
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8.4)
|
|||||||
|
|
||||||
# root CMakeLists for the SuperTuxKart project
|
# root CMakeLists for the SuperTuxKart project
|
||||||
project(SuperTuxKart)
|
project(SuperTuxKart)
|
||||||
set(PROJECT_VERSION "git")
|
set(PROJECT_VERSION "1.1")
|
||||||
add_definitions( -DSUPERTUXKART_VERSION="${PROJECT_VERSION}" )
|
add_definitions( -DSUPERTUXKART_VERSION="${PROJECT_VERSION}" )
|
||||||
|
|
||||||
if(NOT (CMAKE_MAJOR_VERSION VERSION_LESS 3))
|
if(NOT (CMAKE_MAJOR_VERSION VERSION_LESS 3))
|
||||||
@@ -22,23 +22,34 @@ option(SERVER_ONLY "Create a server only (i.e. no graphics or sound)" OFF)
|
|||||||
option(CHECK_ASSETS "Check if assets are installed in ../stk-assets" ON)
|
option(CHECK_ASSETS "Check if assets are installed in ../stk-assets" ON)
|
||||||
option(USE_SYSTEM_ANGELSCRIPT "Use system angelscript instead of built-in angelscript. If you enable this option, make sure to use a compatible version." OFF)
|
option(USE_SYSTEM_ANGELSCRIPT "Use system angelscript instead of built-in angelscript. If you enable this option, make sure to use a compatible version." OFF)
|
||||||
option(USE_SYSTEM_ENET "Use system ENet instead of the built-in version, when available." ON)
|
option(USE_SYSTEM_ENET "Use system ENet instead of the built-in version, when available." ON)
|
||||||
|
option(USE_IPV6 "Allow create or connect to game server with IPv6 address, system enet will not be used." ON)
|
||||||
option(USE_SYSTEM_GLEW "Use system GLEW instead of the built-in version, when available." ON)
|
option(USE_SYSTEM_GLEW "Use system GLEW instead of the built-in version, when available." ON)
|
||||||
option(USE_SYSTEM_WIIUSE "Use system WiiUse instead of the built-in version, when available." OFF)
|
option(USE_SYSTEM_WIIUSE "Use system WiiUse instead of the built-in version, when available." OFF)
|
||||||
|
option(USE_SQLITE3 "Use sqlite to manage server stats and ban list." ON)
|
||||||
|
|
||||||
option(USE_CRYPTO_OPENSSL "Use OpenSSL instead of Nettle for cryptography in STK." OFF)
|
option(USE_CRYPTO_OPENSSL "Use OpenSSL instead of Nettle for cryptography in STK." ON)
|
||||||
CMAKE_DEPENDENT_OPTION(BUILD_RECORDER "Build opengl recorder" ON
|
CMAKE_DEPENDENT_OPTION(BUILD_RECORDER "Build opengl recorder" ON
|
||||||
"NOT SERVER_ONLY;NOT APPLE" OFF)
|
"NOT SERVER_ONLY;NOT APPLE" OFF)
|
||||||
CMAKE_DEPENDENT_OPTION(USE_FRIBIDI "Support for right-to-left languages" ON
|
CMAKE_DEPENDENT_OPTION(USE_SYSTEM_SQUISH "Use system Squish library instead of the built-in version, when available." ON
|
||||||
"NOT SERVER_ONLY" OFF)
|
"NOT SERVER_ONLY" OFF)
|
||||||
CMAKE_DEPENDENT_OPTION(USE_WIIUSE "Support for wiimote input devices" ON
|
CMAKE_DEPENDENT_OPTION(USE_WIIUSE "Support for wiimote input devices" ON
|
||||||
"NOT SERVER_ONLY;NOT MINGW;NOT CYGWIN" OFF)
|
"NOT SERVER_ONLY;NOT CYGWIN" OFF)
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE AND NOT IOS)
|
||||||
list(APPEND CMAKE_PREFIX_PATH /usr/local/opt)
|
list(APPEND CMAKE_PREFIX_PATH /usr/local/opt)
|
||||||
include_directories(/usr/local/opt/fribidi/include/)
|
include_directories(/usr/local/opt/fribidi/include/)
|
||||||
include_directories(/usr/local/opt/openssl@1.1/include/)
|
include_directories(/usr/local/opt/openssl@1.1/include/)
|
||||||
include_directories(/usr/local/opt/openssl@1.1/include/openssl/)
|
include_directories(/usr/local/opt/openssl@1.1/include/openssl/)
|
||||||
include_directories(/usr/local/opt/freetype/include/freetype2/)
|
include_directories(/usr/local/opt/freetype/include/freetype2/)
|
||||||
|
include_directories(/usr/local/opt/harfbuzz/include/harfbuzz/)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (IOS)
|
||||||
|
ADD_DEFINITIONS(-DMOBILE_STK)
|
||||||
|
ADD_DEFINITIONS(-DIOS_STK)
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
|
||||||
|
option(USE_GLES2 "Use OpenGL ES2 renderer" ON)
|
||||||
|
find_library(RESOLV_LIBRARY NAMES resolv libresolv)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if((UNIX AND NOT APPLE) AND NOT SERVER_ONLY)
|
if((UNIX AND NOT APPLE) AND NOT SERVER_ONLY)
|
||||||
@@ -96,6 +107,8 @@ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
ADD_DEFINITIONS(-DUNICODE)
|
||||||
|
ADD_DEFINITIONS(-D_UNICODE)
|
||||||
if(NOT IS_DIRECTORY "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}")
|
if(NOT IS_DIRECTORY "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}")
|
||||||
set(DEPENDENCIES "dependencies")
|
set(DEPENDENCIES "dependencies")
|
||||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
@@ -125,7 +138,7 @@ endif()
|
|||||||
|
|
||||||
if(SERVER_ONLY)
|
if(SERVER_ONLY)
|
||||||
add_definitions(-DSERVER_ONLY)
|
add_definitions(-DSERVER_ONLY)
|
||||||
add_definitions(-DNO_IRR_COMPILE_WITH_X11_ -DNO_IRR_COMPILE_WITH_OPENGL_ -DNO_IRR_COMPILE_WITH_OSX_DEVICE_)
|
add_definitions(-DNO_IRR_COMPILE_WITH_X11_ -DNO_IRR_COMPILE_WITH_OPENGL_)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(UNIX OR MINGW)
|
if(UNIX OR MINGW)
|
||||||
@@ -148,11 +161,15 @@ add_subdirectory("${PROJECT_SOURCE_DIR}/lib/bullet")
|
|||||||
include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
|
include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
|
||||||
|
|
||||||
# Find system ENet library or build it if missing
|
# Find system ENet library or build it if missing
|
||||||
if((UNIX AND NOT APPLE) AND USE_SYSTEM_ENET)
|
if((UNIX AND NOT APPLE) AND USE_SYSTEM_ENET AND NOT USE_IPV6)
|
||||||
pkg_check_modules(ENET libenet>=1.3.4)
|
pkg_check_modules(ENET libenet>=1.3.4)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ENET_FOUND)
|
if (USE_IPV6)
|
||||||
|
add_definitions(-DENABLE_IPV6)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ENET_FOUND AND NOT USE_IPV6)
|
||||||
include_directories(${ENET_INCLUDE_DIRS})
|
include_directories(${ENET_INCLUDE_DIRS})
|
||||||
else()
|
else()
|
||||||
# Fallback to built-in version
|
# Fallback to built-in version
|
||||||
@@ -162,11 +179,17 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find system GLEW library or build it if missing
|
# Find system GLEW library or build it if missing
|
||||||
if (APPLE)
|
if (APPLE AND NOT IOS)
|
||||||
find_package(glew)
|
find_library(GLEW_LIBRARY NAMES glew libglew libGLEW)
|
||||||
|
find_path(GLEW_INCLUDEDIR NAMES GL/glew.h glew.h PATHS)
|
||||||
if(GLEW_FOUND)
|
if (NOT GLEW_LIBRARY OR NOT GLEW_INCLUDEDIR)
|
||||||
include_directories(${GLEW_INCLUDE_DIRS})
|
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/glew")
|
||||||
|
include_directories("${PROJECT_SOURCE_DIR}/lib/glew/include")
|
||||||
|
set(GLEW_LIBRARIES "glew")
|
||||||
|
else()
|
||||||
|
set(GLEW_LIBRARIES ${GLEW_LIBRARY})
|
||||||
|
include_directories(${GLEW_INCLUDEDIR})
|
||||||
|
MESSAGE(STATUS "Use system GLEW: ${GLEW_LIBRARIES}")
|
||||||
endif()
|
endif()
|
||||||
elseif(NOT USE_GLES2 AND NOT SERVER_ONLY)
|
elseif(NOT USE_GLES2 AND NOT SERVER_ONLY)
|
||||||
add_definitions(-DGLEW_NO_GLU)
|
add_definitions(-DGLEW_NO_GLU)
|
||||||
@@ -184,39 +207,10 @@ elseif(NOT USE_GLES2 AND NOT SERVER_ONLY)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
# Build zlib library
|
|
||||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/zlib")
|
|
||||||
include_directories("${PROJECT_SOURCE_DIR}/lib/zlib")
|
|
||||||
|
|
||||||
set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/zlib" "${PROJECT_BINARY_DIR}/lib/zlib/")
|
|
||||||
set(ZLIB_LIBRARY zlibstatic)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (NOT SERVER_ONLY)
|
if (NOT SERVER_ONLY)
|
||||||
if(MSVC OR APPLE)
|
|
||||||
# Build png library
|
|
||||||
set(SKIP_INSTALL_ALL TRUE)
|
|
||||||
set(PNG_STATIC TRUE CACHE BOOL "Build static lib")
|
|
||||||
set(PNG_TESTS FALSE CACHE BOOL "Build libpng tests")
|
|
||||||
set(PNG_SHARED FALSE CACHE BOOL "Build shared lib")
|
|
||||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/libpng")
|
|
||||||
include_directories("${PROJECT_SOURCE_DIR}/lib/libpng")
|
|
||||||
|
|
||||||
set(PNG_PNG_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/libpng/")
|
|
||||||
set(PNG_LIBRARY png_static)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Add jpeg library
|
# Add jpeg library
|
||||||
if (APPLE)
|
|
||||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/jpeglib")
|
|
||||||
include_directories("${PROJECT_SOURCE_DIR}/lib/jpeglib")
|
|
||||||
set(JPEG_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/jpeglib/")
|
|
||||||
set(JPEG_LIBRARY jpeglib)
|
|
||||||
else()
|
|
||||||
find_package(JPEG REQUIRED)
|
find_package(JPEG REQUIRED)
|
||||||
include_directories(${JPEG_INCLUDE_DIR})
|
include_directories(${JPEG_INCLUDE_DIR})
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (BUILD_RECORDER)
|
if (BUILD_RECORDER)
|
||||||
@@ -245,9 +239,24 @@ if(NOT SERVER_ONLY)
|
|||||||
include_directories("${PROJECT_SOURCE_DIR}/lib/graphics_utils")
|
include_directories("${PROJECT_SOURCE_DIR}/lib/graphics_utils")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Libmcpp
|
||||||
|
find_library(MCPP_LIBRARY NAMES mcpp libmcpp)
|
||||||
|
find_path(MCPP_INCLUDEDIR NAMES mcpp_lib.h PATHS)
|
||||||
|
if (NOT MCPP_LIBRARY OR NOT MCPP_INCLUDEDIR)
|
||||||
|
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/mcpp")
|
||||||
|
include_directories("${PROJECT_SOURCE_DIR}/lib/mcpp")
|
||||||
|
SET(MCPP_LIBRARY mcpp)
|
||||||
|
message(STATUS "System libmcpp not found, use the bundled one.")
|
||||||
|
else()
|
||||||
|
include_directories("${MCPP_INCLUDEDIR}")
|
||||||
|
MESSAGE(STATUS "Use system libmcpp: ${MCPP_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT SERVER_ONLY)
|
if(NOT SERVER_ONLY)
|
||||||
|
if(USE_SYSTEM_SQUISH)
|
||||||
find_library(SQUISH_LIBRARY NAMES squish libsquish)
|
find_library(SQUISH_LIBRARY NAMES squish libsquish)
|
||||||
find_path(SQUISH_INCLUDEDIR NAMES squish.h PATHS)
|
find_path(SQUISH_INCLUDEDIR NAMES squish.h PATHS)
|
||||||
|
endif()
|
||||||
if (NOT SQUISH_LIBRARY OR NOT SQUISH_INCLUDEDIR)
|
if (NOT SQUISH_LIBRARY OR NOT SQUISH_INCLUDEDIR)
|
||||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/libsquish")
|
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/libsquish")
|
||||||
include_directories("${PROJECT_SOURCE_DIR}/lib/libsquish")
|
include_directories("${PROJECT_SOURCE_DIR}/lib/libsquish")
|
||||||
@@ -287,7 +296,7 @@ endif()
|
|||||||
# Set include paths
|
# Set include paths
|
||||||
include_directories(${STK_SOURCE_DIR})
|
include_directories(${STK_SOURCE_DIR})
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE AND NOT IOS)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -arch x86_64")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -arch x86_64")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch x86_64 -F/Library/Frameworks")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch x86_64 -F/Library/Frameworks")
|
||||||
elseif(MSVC)
|
elseif(MSVC)
|
||||||
@@ -323,27 +332,50 @@ if(NOT SERVER_ONLY)
|
|||||||
add_definitions(-DENABLE_SOUND)
|
add_definitions(-DENABLE_SOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Freetype
|
# Text handling in STK (We use freetype, harfbuzz, fribidi and libraqm for i18n text handling)
|
||||||
if (NOT SERVER_ONLY)
|
if (NOT SERVER_ONLY)
|
||||||
|
# Freetype
|
||||||
find_package(Freetype)
|
find_package(Freetype)
|
||||||
if(FREETYPE_FOUND)
|
if(FREETYPE_FOUND)
|
||||||
include_directories(${FREETYPE_INCLUDE_DIRS})
|
include_directories(${FREETYPE_INCLUDE_DIRS})
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Freetype not found. "
|
message(FATAL_ERROR "Freetype not found. "
|
||||||
"Freetype is required to display characters in SuperTuxKart. ")
|
"Freetype is required to display characters in SuperTuxKart.")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
|
||||||
|
|
||||||
# Fribidi
|
# Harfbuzz
|
||||||
if(USE_FRIBIDI)
|
find_library(HARFBUZZ_LIBRARY NAMES harfbuzz libharfbuzz)
|
||||||
|
find_path(HARFBUZZ_INCLUDEDIR NAMES harfbuzz/hb.h hb.h PATHS)
|
||||||
|
if (NOT HARFBUZZ_LIBRARY OR NOT HARFBUZZ_INCLUDEDIR)
|
||||||
|
message(FATAL_ERROR "Harfbuzz not found. "
|
||||||
|
"Harfbuzz is required to display characters in SuperTuxKart.")
|
||||||
|
else()
|
||||||
|
include_directories("${HARFBUZZ_INCLUDEDIR}")
|
||||||
|
MESSAGE(STATUS "Use system harfbuzz: ${HARFBUZZ_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Fribidi
|
||||||
find_package(Fribidi)
|
find_package(Fribidi)
|
||||||
if(FRIBIDI_FOUND)
|
if(FRIBIDI_FOUND)
|
||||||
include_directories(${FRIBIDI_INCLUDE_DIRS})
|
include_directories(${FRIBIDI_INCLUDE_DIRS})
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Fribidi not found. "
|
message(FATAL_ERROR "Fribidi not found. "
|
||||||
"Either install fribidi or disable bidi support with -DUSE_FRIBIDI=0 "
|
"Fribidi is required to display characters in SuperTuxKart.")
|
||||||
"(if you don't use a right-to-left language then you don't need this).")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Libraqm
|
||||||
|
find_library(RAQM_LIBRARY NAMES raqm libraqm)
|
||||||
|
find_path(RAQM_INCLUDEDIR NAMES raqm.h PATHS)
|
||||||
|
if (NOT RAQM_LIBRARY OR NOT RAQM_INCLUDEDIR)
|
||||||
|
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/libraqm")
|
||||||
|
include_directories("${PROJECT_SOURCE_DIR}/lib/libraqm")
|
||||||
|
SET(RAQM_LIBRARY raqm)
|
||||||
|
message(STATUS "System libraqm not found, use the bundled one.")
|
||||||
|
else()
|
||||||
|
include_directories("${RAQM_INCLUDEDIR}")
|
||||||
|
MESSAGE(STATUS "Use system libraqm: ${RAQM_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# OpenGL
|
# OpenGL
|
||||||
@@ -363,6 +395,23 @@ if(USE_LIBBFD)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# SQLITE
|
||||||
|
if(USE_SQLITE3)
|
||||||
|
find_library(SQLITE3_LIBRARY NAMES sqlite3 libsqlite3)
|
||||||
|
find_path(SQLITE3_INCLUDEDIR NAMES sqlite3.h PATHS)
|
||||||
|
if (NOT SQLITE3_LIBRARY OR NOT SQLITE3_INCLUDEDIR)
|
||||||
|
# add_subdirectory("${PROJECT_SOURCE_DIR}/lib/sqlite3")
|
||||||
|
# include_directories("${PROJECT_SOURCE_DIR}/lib/sqlite3")
|
||||||
|
# SET(SQLITE3_LIBRARY sqlite3)
|
||||||
|
set(USE_SQLITE3 OFF CACHE BOOL "Use sqlite to manage server stats and ban list." FORCE)
|
||||||
|
message(WARNING "Sqlite3 not found, disable advanced server management.")
|
||||||
|
else()
|
||||||
|
add_definitions(-DENABLE_SQLITE3)
|
||||||
|
include_directories("${SQLITE3_INCLUDEDIR}")
|
||||||
|
MESSAGE(STATUS "Use system libsqlite3: ${SQLITE3_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# Set some compiler options
|
# Set some compiler options
|
||||||
if(UNIX OR MINGW)
|
if(UNIX OR MINGW)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
|
||||||
@@ -413,7 +462,7 @@ include(cmake/SourceGroupFunctions.cmake)
|
|||||||
source_group_hierarchy(STK_SOURCES STK_HEADERS)
|
source_group_hierarchy(STK_SOURCES STK_HEADERS)
|
||||||
|
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE AND NOT IOS)
|
||||||
# icon files to copy in the bundle
|
# icon files to copy in the bundle
|
||||||
set(OSX_ICON_FILES ${PROJECT_SOURCE_DIR}/data/supertuxkart.icns)
|
set(OSX_ICON_FILES ${PROJECT_SOURCE_DIR}/data/supertuxkart.icns)
|
||||||
set_source_files_properties(${OSX_ICON_FILES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
set_source_files_properties(${OSX_ICON_FILES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||||
@@ -462,10 +511,36 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Build the final executable
|
# Build the final executable
|
||||||
|
if (IOS)
|
||||||
|
file(GLOB IOS_ASSETS_FILES ${IOS_ASSETS} ${IOS_LAUNCHSCREEN})
|
||||||
|
set_source_files_properties(${IOS_ASSETS_FILES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||||
|
add_executable(supertuxkart ${STK_SOURCES} ${STK_RESOURCES} ${STK_HEADERS} ${IOS_ASSETS_FILES})
|
||||||
|
set_target_properties(supertuxkart PROPERTIES
|
||||||
|
MACOSX_BUNDLE_INFO_PLIST ${PROJECT_SOURCE_DIR}/data/SuperTuxKart-Info-iOS.plist
|
||||||
|
XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET 9.0
|
||||||
|
XCODE_ATTRIBUTE_INSTALL_PATH /Applications
|
||||||
|
XCODE_ATTRIBUTE_SKIP_INSTALL No)
|
||||||
|
else()
|
||||||
add_executable(supertuxkart ${STK_SOURCES} ${STK_RESOURCES} ${STK_HEADERS})
|
add_executable(supertuxkart ${STK_SOURCES} ${STK_RESOURCES} ${STK_HEADERS})
|
||||||
|
endif()
|
||||||
target_link_libraries(supertuxkart ${PTHREAD_LIBRARY})
|
target_link_libraries(supertuxkart ${PTHREAD_LIBRARY})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# check if linking against libatomic is required
|
||||||
|
include(CheckCXXSourceCompiles)
|
||||||
|
check_cxx_source_compiles("
|
||||||
|
#include <atomic>
|
||||||
|
#include <cstdint>
|
||||||
|
int main() {
|
||||||
|
std::atomic<uint64_t> x{0};
|
||||||
|
x.load();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
" NO_LIBATOMIC_NEEDED)
|
||||||
|
if (NOT NO_LIBATOMIC_NEEDED)
|
||||||
|
target_link_libraries(supertuxkart atomic)
|
||||||
|
endif()
|
||||||
|
|
||||||
# CURL and OpenSSL or Nettle
|
# CURL and OpenSSL or Nettle
|
||||||
# 1.0.1d for compatible AES GCM handling
|
# 1.0.1d for compatible AES GCM handling
|
||||||
SET(OPENSSL_MINIMUM_VERSION "1.0.1d")
|
SET(OPENSSL_MINIMUM_VERSION "1.0.1d")
|
||||||
@@ -516,8 +591,13 @@ target_link_libraries(supertuxkart
|
|||||||
stkirrlicht
|
stkirrlicht
|
||||||
${Angelscript_LIBRARIES}
|
${Angelscript_LIBRARIES}
|
||||||
${CURL_LIBRARIES}
|
${CURL_LIBRARIES}
|
||||||
|
mcpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if (USE_SQLITE3)
|
||||||
|
target_link_libraries(supertuxkart ${SQLITE3_LIBRARY})
|
||||||
|
endif()
|
||||||
|
|
||||||
if (USE_CRYPTO_OPENSSL)
|
if (USE_CRYPTO_OPENSSL)
|
||||||
target_link_libraries(supertuxkart ${OPENSSL_CRYPTO_LIBRARY})
|
target_link_libraries(supertuxkart ${OPENSSL_CRYPTO_LIBRARY})
|
||||||
else()
|
else()
|
||||||
@@ -527,16 +607,25 @@ endif()
|
|||||||
if(NOT SERVER_ONLY)
|
if(NOT SERVER_ONLY)
|
||||||
if(NOT USE_GLES2)
|
if(NOT USE_GLES2)
|
||||||
target_link_libraries(supertuxkart ${OPENGL_gl_LIBRARY} ${GLEW_LIBRARIES})
|
target_link_libraries(supertuxkart ${OPENGL_gl_LIBRARY} ${GLEW_LIBRARIES})
|
||||||
|
elseif (IOS)
|
||||||
|
target_link_libraries(supertuxkart "-framework OpenGLES
|
||||||
|
-framework UIKit
|
||||||
|
-framework CoreMotion
|
||||||
|
-framework Foundation
|
||||||
|
-framework GLKit ${RESOLV_LIBRARY}")
|
||||||
else()
|
else()
|
||||||
target_link_libraries(supertuxkart GLESv2)
|
target_link_libraries(supertuxkart GLESv2)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(supertuxkart
|
target_link_libraries(supertuxkart
|
||||||
${SQUISH_LIBRARY}
|
${SQUISH_LIBRARY}
|
||||||
${FREETYPE_LIBRARIES}
|
|
||||||
${JPEG_LIBRARIES}
|
${JPEG_LIBRARIES}
|
||||||
${OGGVORBIS_LIBRARIES}
|
${OGGVORBIS_LIBRARIES}
|
||||||
${OPENAL_LIBRARY}
|
${OPENAL_LIBRARY}
|
||||||
|
${RAQM_LIBRARY}
|
||||||
|
${FRIBIDI_LIBRARIES}
|
||||||
|
${FREETYPE_LIBRARIES}
|
||||||
|
${HARFBUZZ_LIBRARY}
|
||||||
graphics_utils)
|
graphics_utils)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -559,11 +648,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
|||||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/usr/local/lib")
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/usr/local/lib")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(USE_FRIBIDI)
|
|
||||||
target_link_libraries(supertuxkart ${FRIBIDI_LIBRARIES})
|
|
||||||
add_definitions(-DENABLE_BIDI)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Wiiuse
|
# Wiiuse
|
||||||
# ------
|
# ------
|
||||||
if(USE_WIIUSE)
|
if(USE_WIIUSE)
|
||||||
@@ -594,6 +678,10 @@ if(MSVC OR MINGW)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MINGW)
|
if(MINGW)
|
||||||
|
target_link_libraries(supertuxkart -ldxguid -ldinput8)
|
||||||
|
if (NOT CMAKE_BUILD_TYPE MATCHES Debug)
|
||||||
|
target_link_libraries(supertuxkart -mwindows)
|
||||||
|
endif()
|
||||||
find_library(LIBGCC NAMES "libgcc_s_dw2-1.dll" "libgcc_s_sjlj-1.dll" "libgcc_s_seh-1.dll" PATHS ${CMAKE_FIND_ROOT_PATH})
|
find_library(LIBGCC NAMES "libgcc_s_dw2-1.dll" "libgcc_s_sjlj-1.dll" "libgcc_s_seh-1.dll" PATHS ${CMAKE_FIND_ROOT_PATH})
|
||||||
if(LIBGCC)
|
if(LIBGCC)
|
||||||
file(COPY ${LIBGCC} DESTINATION ${CMAKE_BINARY_DIR}/bin/)
|
file(COPY ${LIBGCC} DESTINATION ${CMAKE_BINARY_DIR}/bin/)
|
||||||
|
|||||||
102
INSTALL.md
@@ -1,4 +1,4 @@
|
|||||||
## Building from source
|
# Building from source
|
||||||
|
|
||||||
In order to build SuperTuxKart from source, you'll need both the code and the assets (See <https://supertuxkart.net/Source_control> for more information):
|
In order to build SuperTuxKart from source, you'll need both the code and the assets (See <https://supertuxkart.net/Source_control> for more information):
|
||||||
|
|
||||||
@@ -13,47 +13,56 @@ svn co https://svn.code.sf.net/p/supertuxkart/code/stk-assets stk-assets
|
|||||||
|
|
||||||
To build SuperTuxKart from source, you'll need to install the following packages:
|
To build SuperTuxKart from source, you'll need to install the following packages:
|
||||||
|
|
||||||
* OpenGL (mesa)
|
* OpenGL (mesa)
|
||||||
* OpenAL (recommended: openal-soft-devel)
|
* OpenAL (recommended: openal-soft-devel)
|
||||||
* Ogg (libogg-dev)
|
* Ogg (libogg-dev)
|
||||||
* Vorbis (libvorbis-dev)
|
* Vorbis (libvorbis-dev)
|
||||||
* Freetype (libfreetype6-dev)
|
* Freetype (libfreetype6-dev)
|
||||||
* libcurl (libcurl-devel)
|
* Harfbuzz (libharfbuzz-dev)
|
||||||
* libbluetooth (bluez-devel)
|
* Fribidi (libfribidi-dev)
|
||||||
* libnettle (nettle-dev)
|
* libcurl (libcurl-devel)
|
||||||
* libpng (libpng-devel)
|
* libbluetooth (bluez-devel)
|
||||||
* zlib (zlib-devel)
|
* openssl (openssl-dev)
|
||||||
* jpeg (libjpeg-turbo-devel)
|
* libpng (libpng-devel)
|
||||||
|
* zlib (zlib-devel)
|
||||||
|
* jpeg (libjpeg-turbo-devel)
|
||||||
|
|
||||||
Fedora command:
|
Fedora command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo dnf install @development-tools cmake bluez-libs-devel \
|
sudo dnf install @development-tools angelscript-devel \
|
||||||
openssl-devel libcurl-devel freetype-devel fribidi-devel mesa-libGL-devel \
|
bluez-libs-devel cmake desktop-file-utils \
|
||||||
libjpeg-turbo-devel libogg-devel openal-soft-devel libpng-devel \
|
freealut-devel freeglut-devel freetype-devel fribidi-devel \
|
||||||
libvorbis-devel libXrandr-devel libGLEW nettle-devel pkgconf zlib-devel
|
gcc-c++ git-core libXrandr-devel libcurl-devel libjpeg-turbo-devel \
|
||||||
|
libpng-devel libsquish-devel libtool libvorbis-devel mesa-libEGL-devel \
|
||||||
|
mesa-libGLES-devel openal-soft-devel openssl-devel libcurl-devel harfbuzz-devel \
|
||||||
|
fribidi-devel mesa-libGL-devel libogg-devel libGLEW openssl-devel pkgconf \
|
||||||
|
wiiuse-devel zlib-devel
|
||||||
```
|
```
|
||||||
|
|
||||||
Mageia 6 command:
|
Mageia 6 command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
su -c 'urpmi gcc-c++ cmake openssl-devel libcurl-devel freetype-devel \
|
su -c 'urpmi gcc-c++ cmake openssl-devel libcurl-devel freetype-devel harfbuzz-devel \
|
||||||
fribidi-devel libjpeg-turbo-devel libogg-devel openal-soft-devel \
|
fribidi-devel libjpeg-turbo-devel libogg-devel openal-soft-devel \
|
||||||
libpng-devel libvorbis-devel nettle-devel zlib-devel git subversion \
|
libpng-devel libvorbis-devel nettle-devel zlib-devel git subversion \
|
||||||
mesa-comon-devel libxrandr-devel libbluez-devel libfreetype6-devel'
|
mesa-comon-devel libxrandr-devel libbluez-devel libfreetype6-devel'
|
||||||
```
|
```
|
||||||
|
|
||||||
OpenSUSE command:
|
OpenSUSE command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo zypper install gcc-c++ cmake openssl-devel libcurl-devel \
|
sudo zypper install gcc-c++ cmake openssl-devel libcurl-devel \
|
||||||
freetype-devel fribidi-devel libogg-devel openal-soft-devel libpng-devel \
|
freetype-devel harfbuzz-devel fribidi-devel libogg-devel openal-soft-devel libpng-devel \
|
||||||
libvorbis-devel libXrandr-devel pkgconf zlib-devel enet-devel glew-devel \
|
libvorbis-devel libXrandr-devel pkgconf zlib-devel enet-devel glew-devel \
|
||||||
libjpeg-devel bluez-devel freetype2-devel glu-devel
|
libjpeg-devel bluez-devel freetype2-devel glu-devel
|
||||||
```
|
```
|
||||||
|
|
||||||
Ubuntu command:
|
Ubuntu command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install build-essential cmake libbluetooth-dev \
|
sudo apt-get install build-essential cmake libbluetooth-dev \
|
||||||
libcurl4-openssl-dev libenet-dev libfreetype6-dev libfribidi-dev \
|
libcurl4-openssl-dev libenet-dev libfreetype6-dev libharfbuzz-dev libfribidi-dev \
|
||||||
libgl1-mesa-dev libglew-dev libjpeg-dev libogg-dev libopenal-dev libpng-dev \
|
libgl1-mesa-dev libglew-dev libjpeg-dev libogg-dev libopenal-dev libpng-dev \
|
||||||
libssl-dev libvorbis-dev libxrandr-dev libx11-dev nettle-dev pkg-config zlib1g-dev
|
libssl-dev libvorbis-dev libxrandr-dev libx11-dev nettle-dev pkg-config zlib1g-dev
|
||||||
```
|
```
|
||||||
@@ -120,42 +129,45 @@ will be copied to `/usr/local/bin`. To change the default installation
|
|||||||
location, specify `CMAKE_INSTALL_PREFIX` when running cmake, e.g.:
|
location, specify `CMAKE_INSTALL_PREFIX` when running cmake, e.g.:
|
||||||
`cmake .. -DCMAKE_INSTALL_PREFIX=/opt/stk`
|
`cmake .. -DCMAKE_INSTALL_PREFIX=/opt/stk`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Building SuperTuxKart on Windows
|
## Building SuperTuxKart on Windows
|
||||||
|
|
||||||
To Build SuperTuxKart on Windows, follow these instructions:
|
To Build SuperTuxKart on Windows, follow these instructions:
|
||||||
|
|
||||||
1. Download and install Visual Studio from here: [Visual Studio - Download](https://www.visualstudio.com/downloads/). The free Visual Studio Community edition works fine. Remember to select "Desktop development with C++" in the installer.
|
1. Download and install Visual Studio from here: [Visual Studio - Download](https://www.visualstudio.com/downloads/). The free Visual Studio Community edition works fine. Remember to select "Desktop development with C++" in the installer.
|
||||||
|
|
||||||
2a. If you want the stable version, download the SuperTuxKart source package from the latest stable version [SuperTuxKart download area - SourceForge.net](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/) and unpack it.
|
2. If you want the stable version, download the SuperTuxKart source package from the latest stable version [SuperTuxKart download area - SourceForge.net](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/) and unpack it.
|
||||||
2b. If you want the development version, you will need a Git client and a SVN client. More information can be found here: [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control).
|
|
||||||
|
3. If you want the development version, you will need a Git client and a SVN client. More information can be found here: [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control).
|
||||||
Open your file browser and find somewhere you want to put the development version of SuperTuxKart. For example in C:\Users\<Your Username> as the Git and SVN clients will have write permissions there, and you should create its own directory, for example SuperTuxKart-dev. Enter that directory, and create a directory inside called stk-assets, and enter it. If you installed TortoiseSVN, right-click, select TortoiseSVN -> Checkout... and paste the correspodning URL found in [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control). While it is downloading the game assets, go back to your file browser and one level up. Right-click again somewhere empty and select "Git clone..." and paste the corresponding link found in [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control).
|
Open your file browser and find somewhere you want to put the development version of SuperTuxKart. For example in C:\Users\<Your Username> as the Git and SVN clients will have write permissions there, and you should create its own directory, for example SuperTuxKart-dev. Enter that directory, and create a directory inside called stk-assets, and enter it. If you installed TortoiseSVN, right-click, select TortoiseSVN -> Checkout... and paste the correspodning URL found in [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control). While it is downloading the game assets, go back to your file browser and one level up. Right-click again somewhere empty and select "Git clone..." and paste the corresponding link found in [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control).
|
||||||
*Note: Both `stk-code` and `stk-assets` **must** be in the same directory, otherwise the build will likely fail!*
|
*Note: Both `stk-code` and `stk-assets` **must** be in the same directory, otherwise the build will likely fail!*
|
||||||
|
|
||||||
3a. If you got the stable version, download the Windows dependencies package from [SuperTuxKart download area: Dependencies - SourceForge.net](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart%20Dependencies/Windows/) and unpack it.
|
4. If you got the stable version, download the Windows dependencies package from [SuperTuxKart download area: Dependencies - SourceForge.net](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart%20Dependencies/Windows/) and unpack it.
|
||||||
3b. If you got the development version go to SuperTuxKart-dev in your file browser, right-click somewhere empty, select "Git clone..." and paste https://github.com/supertuxkart/dependencies.git in the URL field; click OK. When finished, copy the `dependencies` directory from either the `windows` or the `windows_64bit` directories into the `stk-code` directory; rename the latter to `dependencies-64bit` if you want to compile a 64-bit build.
|
|
||||||
|
|
||||||
4. Download CMake from here: [CMake - download page](https://cmake.org/download/), install it; once CMake is installed, double click on the CMake icon on your desktop, and point it towards your `stk-code` directory in the 'Where is the source code' field, and point it to a new directory called `build` or `bld` inside the stk-code directory.
|
5. If you got the development version go to SuperTuxKart-dev in your file browser, right-click somewhere empty, select "Git clone..." and paste <https://github.com/supertuxkart/dependencies.git> in the URL field; click OK. When finished, copy the `dependencies` directory from either the `windows` or the `windows_64bit` directories into the `stk-code` directory; rename the latter to `dependencies-64bit` if you want to compile a 64-bit build.
|
||||||
|
|
||||||
5. Press 'Configure'; CMake will ask you if it is OK to create the aforementioned directory, press `Yes`. CMake will then ask you about your version of Visual Studio.
|
6. Download CMake from here: [CMake - download page](https://cmake.org/download/), install it; once CMake is installed, double click on the CMake icon on your desktop, and point it towards your `stk-code` directory in the 'Where is the source code' field, and point 'Where to build the binaries' to a new directory called `build` or `bld` inside the stk-code directory.
|
||||||
|
|
||||||
Confirm your selection; *Please look at the table below to avoid confusion between version numbers and releases of Visual Studio*; CMake will begin creating the required files for the build in the directory. If you want to do a 64-bit build, select the version of Visual Studio you installed with "Win64" appended.
|
7. Press 'Configure'; CMake will ask you if it is OK to create the aforementioned directory, press `Yes`. CMake will then ask you about your version of Visual Studio.
|
||||||
|
|
||||||
6. Navigate to your build directory and open the `SuperTuxKart.sln` file; Visual Studio will now load the solution.
|
Confirm your selection; *Please look at the table below to avoid confusion between version numbers and releases of Visual Studio*; CMake will begin creating the required files for the build in the directory. If you want to do a 64-bit build, select the version of Visual Studio you installed with "Win64" appended. Press 'Generate' button.
|
||||||
|
|
||||||
7. In the 'Solution Explorer', right click on the `supertuxkart` project and select "Set as StartUp project".
|
8. Navigate to your build directory and open the `SuperTuxKart.sln` file; Visual Studio will now load the solution.
|
||||||
|
|
||||||
8. Open the 'Build' menu and select 'Build Solution'; or, press the default keyboard shortcut: `CTRL + SHIFT + B` to build the solution.
|
9. In the 'Solution Explorer', right click on the `supertuxkart` project and select "Set as StartUp project".
|
||||||
|
|
||||||
|
10. Open the 'Build' menu and select 'Build Solution'; or, press the default keyboard shortcut: `CTRL + SHIFT + B` to build the solution.
|
||||||
|
|
||||||
*Note: To avoid confusion between releases and versions, refer to this table:*
|
*Note: To avoid confusion between releases and versions, refer to this table:*
|
||||||
|
|
||||||
Visual Studio Release | Version
|
Visual Studio Release | Version
|
||||||
----------------------|------------
|
----------------------|------------
|
||||||
|
Visual Studio 2019| 16
|
||||||
Visual Studio 2017| 15
|
Visual Studio 2017| 15
|
||||||
Visual Studio 2015| 14
|
Visual Studio 2015| 14
|
||||||
Visual Studio 2013| 13
|
Visual Studio 2013| 13
|
||||||
|
|
||||||
## Building SuperTuxKart on Windows (from PowerShell/Command line)
|
## Building SuperTuxKart on Windows (from PowerShell/Command line)
|
||||||
|
|
||||||
1. Download and install Visual Studio from here: [Visual Studio - Download](https://www.visualstudio.com/downloads/), the free Visual Studio Community edition works fine.
|
1. Download and install Visual Studio from here: [Visual Studio - Download](https://www.visualstudio.com/downloads/), the free Visual Studio Community edition works fine.
|
||||||
|
|
||||||
2. Download a source package from either [SuperTuxKart 0.9.2 download area - SourceForge.net](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/0.9.2) or [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control)
|
2. Download a source package from either [SuperTuxKart 0.9.2 download area - SourceForge.net](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/0.9.2) or [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control)
|
||||||
@@ -164,18 +176,24 @@ NOTE: the `stk-code` and `stk-assets` directories **must** be in the same direct
|
|||||||
or [SuperTuxKart on GitHub - Dependencies](https://github.com/supertuxkart/dependencies)
|
or [SuperTuxKart on GitHub - Dependencies](https://github.com/supertuxkart/dependencies)
|
||||||
and unpack the archive; once unpacked, copy the `dependencies` directory from either the `windows` or the `windows_64bit` directories into the `stk-code` directory
|
and unpack the archive; once unpacked, copy the `dependencies` directory from either the `windows` or the `windows_64bit` directories into the `stk-code` directory
|
||||||
4. Download CMake from here: [CMake - download page](https://cmake.org/download/); and install it. Navigate to the `stk-code` directory; and create an directory called "build":
|
4. Download CMake from here: [CMake - download page](https://cmake.org/download/); and install it. Navigate to the `stk-code` directory; and create an directory called "build":
|
||||||
```cmd
|
|
||||||
mkdir build
|
```cmd
|
||||||
cd build
|
mkdir build
|
||||||
```
|
cd build
|
||||||
|
```
|
||||||
|
|
||||||
5. Once inside the build directory; run CMake to start the compilation process:
|
5. Once inside the build directory; run CMake to start the compilation process:
|
||||||
```cmd
|
|
||||||
cmake ..
|
```cmd
|
||||||
```
|
cmake ..
|
||||||
|
```
|
||||||
|
|
||||||
6. Now that CMake finished configuring and creating the necessary files for the build, run the build command in the same directory:
|
6. Now that CMake finished configuring and creating the necessary files for the build, run the build command in the same directory:
|
||||||
|
|
||||||
```cmd
|
```cmd
|
||||||
msbuild.exe SuperTuxKart.sln
|
msbuild.exe SuperTuxKart.sln
|
||||||
```
|
```
|
||||||
|
|
||||||
SuperTuxKart can now be run as `bin\Debug\supertuxkart.exe` or `bin\Release\supertuxkart.exe`
|
SuperTuxKart can now be run as `bin\Debug\supertuxkart.exe` or `bin\Release\supertuxkart.exe`
|
||||||
|
|
||||||
## Building SuperTuxKart on macOS
|
## Building SuperTuxKart on macOS
|
||||||
@@ -202,11 +220,12 @@ On OS X 10.9.5, you might need the following workaround:
|
|||||||
sudo ln -s `xcrun --show-sdk-path`/usr/include/ /usr/include
|
sudo ln -s `xcrun --show-sdk-path`/usr/include/ /usr/include
|
||||||
sudo ln -s `xcrun --show-sdk-path`/System/Library/Frameworks/OpenGL.framework/Headers/ /usr/local/include/OpenGL
|
sudo ln -s `xcrun --show-sdk-path`/System/Library/Frameworks/OpenGL.framework/Headers/ /usr/local/include/OpenGL
|
||||||
```
|
```
|
||||||
|
|
||||||
The first link is required in order to find libcurl, the second to find opengl.
|
The first link is required in order to find libcurl, the second to find opengl.
|
||||||
|
|
||||||
### STK 0.10 or later (or latest git)
|
### STK 0.10 or later (or latest git)
|
||||||
|
|
||||||
Install homebrew (https://brew.sh/)
|
Install [homebrew](https://brew.sh/)
|
||||||
Install all of the dependencies using homebrew:
|
Install all of the dependencies using homebrew:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -215,6 +234,7 @@ brew bundle
|
|||||||
```
|
```
|
||||||
|
|
||||||
Build STK
|
Build STK
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir cmake_build
|
mkdir cmake_build
|
||||||
cd cmake_build
|
cd cmake_build
|
||||||
@@ -224,7 +244,7 @@ make
|
|||||||
|
|
||||||
#### (Optional) packaging for distribution
|
#### (Optional) packaging for distribution
|
||||||
|
|
||||||
By default, the executable that is produced is not ready for distribution. Install https://github.com/auriamg/macdylibbundler and run:
|
By default, the executable that is produced is not ready for distribution. Install <https://github.com/auriamg/macdylibbundler> and run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dylibbundler -od -b -x ./bin/SuperTuxKart.app/Contents/MacOS/supertuxkart -d ./bin/SuperTuxKart.app/Contents/libs/ -p @executable_path/../libs/
|
dylibbundler -od -b -x ./bin/SuperTuxKart.app/Contents/MacOS/supertuxkart -d ./bin/SuperTuxKart.app/Contents/libs/ -p @executable_path/../libs/
|
||||||
@@ -247,6 +267,7 @@ make
|
|||||||
```
|
```
|
||||||
|
|
||||||
Building with GCC:
|
Building with GCC:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /path/to/stk-code
|
cd /path/to/stk-code
|
||||||
mkdir cmake_build
|
mkdir cmake_build
|
||||||
@@ -256,6 +277,7 @@ make
|
|||||||
```
|
```
|
||||||
|
|
||||||
Building on 10.10 with 10.9 compatibility:
|
Building on 10.10 with 10.9 compatibility:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cmake .. -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9
|
cmake .. -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9
|
||||||
```
|
```
|
||||||
|
|||||||
194
NETWORKING.md
@@ -5,7 +5,7 @@ First of all, you can compile STK with `-DSERVER_ONLY=ON` which will produce a G
|
|||||||
The dependencies for RHEL/CentOS 7 are installed with:
|
The dependencies for RHEL/CentOS 7 are installed with:
|
||||||
```bash
|
```bash
|
||||||
yum install wget; cd /tmp; wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm; rpm -Uvh epel-release*rpm
|
yum install wget; cd /tmp; wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm; rpm -Uvh epel-release*rpm
|
||||||
yum install gcc-c++ cmake openssl-devel libcurl-devel zlib-devel enet gcc-c++
|
yum install gcc-c++ cmake openssl-devel libcurl-devel zlib-devel enet
|
||||||
```
|
```
|
||||||
### Hosting WAN (public internet) server
|
### Hosting WAN (public internet) server
|
||||||
You are required to have an stk online account first, go [here](https://online.supertuxkart.net/register.php) for registration.
|
You are required to have an stk online account first, go [here](https://online.supertuxkart.net/register.php) for registration.
|
||||||
@@ -30,7 +30,7 @@ The current server configuration xml looks like this:
|
|||||||
<!-- Name of server, encode in XML if you want to use unicode characters. -->
|
<!-- Name of server, encode in XML if you want to use unicode characters. -->
|
||||||
<server-name value="stk server" />
|
<server-name value="stk server" />
|
||||||
|
|
||||||
<!-- Port used in server, if you specify 0, it will use the server port specified in stk_config.xml or if random-server-port is enabled in user config, than any port. STK will auto change to random port if the port you specify failed to be bound. -->
|
<!-- "Port used in server, if you specify 0, it will use the server port specified in stk_config.xml. If you wish to use a random port, set random-server-port="1" in user config. STK will automatically switch to a random port if the port you specify fails to be bound." -->
|
||||||
<server-port value="0" />
|
<server-port value="0" />
|
||||||
|
|
||||||
<!-- Game mode in server, 0 is normal race (grand prix), 1 is time trial (grand prix), 3 is normal race, 4 time trial, 6 is soccer, 7 is free-for-all and 8 is capture the flag. Notice: grand prix server doesn't allow for players to join and wait for ongoing game. -->
|
<!-- Game mode in server, 0 is normal race (grand prix), 1 is time trial (grand prix), 3 is normal race, 4 time trial, 6 is soccer, 7 is free-for-all and 8 is capture the flag. Notice: grand prix server doesn't allow for players to join and wait for ongoing game. -->
|
||||||
@@ -51,25 +51,28 @@ The current server configuration xml looks like this:
|
|||||||
<!-- Enable network console, which can do for example kickban. -->
|
<!-- Enable network console, which can do for example kickban. -->
|
||||||
<enable-console value="false" />
|
<enable-console value="false" />
|
||||||
|
|
||||||
<!-- Maximum number of players on the server, setting it more than 8 will have performance degradation. -->
|
<!-- Maximum number of players on the server, setting this to a value higher than 8 can cause performance degradation. -->
|
||||||
<server-max-players value="8" />
|
<server-max-players value="8" />
|
||||||
|
|
||||||
<!-- Password for private server, empty for a public server. -->
|
<!-- Password for private server, leave empty for a public server. -->
|
||||||
<private-server-password value="" />
|
<private-server-password value="" />
|
||||||
|
|
||||||
<!-- Message of today shown in lobby, you can enter encoded XML words here or a file.txt and let STK load it. -->
|
<!-- Message of today shown in lobby, you can enter encoded XML words here or a file.txt and let STK load it. -->
|
||||||
<motd value="" />
|
<motd value="" />
|
||||||
|
|
||||||
<!-- If off this server will ignore chat message from all players. -->
|
<!-- If this value is set to false, the server will ignore chat messages from all players. -->
|
||||||
<chat value="true" />
|
<chat value="true" />
|
||||||
|
|
||||||
<!-- Allow players to vote track to play, if off server will pick next track to play randomly. -->
|
<!-- If client sends more than chat-consecutive-interval / 2 chats within this value (read in seconds), it will be ignore, negative value to disable. -->
|
||||||
|
<chat-consecutive-interval value="8" />
|
||||||
|
|
||||||
|
<!-- Allow players to vote for which track to play. If this value is set to false, the server will randomly pick the next track to play. -->
|
||||||
<track-voting value="true" />
|
<track-voting value="true" />
|
||||||
|
|
||||||
<!-- Timeout in seconds for selecting karts and (or) voting tracks in server, you may want to use a lower value if you have track-voting off. -->
|
<!-- Timeout in seconds for selecting karts and (or) voting for tracks in server, you may want to use a lower value if you have track-voting off. -->
|
||||||
<voting-timeout value="30" />
|
<voting-timeout value="30" />
|
||||||
|
|
||||||
<!-- Timeout in seconds for validation of clients in wan, currently stk will use the stk-addons server to share AES key between client and server. -->
|
<!-- Timeout in seconds for validation of clients in wan, currently stk will use the stk-addons server to share AES key between the client and server. -->
|
||||||
<validation-timeout value="20" />
|
<validation-timeout value="20" />
|
||||||
|
|
||||||
<!-- By default WAN server will always validate player and LAN will not, disable it to allow non-validated player in WAN. -->
|
<!-- By default WAN server will always validate player and LAN will not, disable it to allow non-validated player in WAN. -->
|
||||||
@@ -78,6 +81,9 @@ The current server configuration xml looks like this:
|
|||||||
<!-- Disable it to turn off all stun related code in server, it allows saving server resource if your server is not behind a firewall. -->
|
<!-- Disable it to turn off all stun related code in server, it allows saving server resource if your server is not behind a firewall. -->
|
||||||
<firewalled-server value="true" />
|
<firewalled-server value="true" />
|
||||||
|
|
||||||
|
<!-- Enable to allow IPv6 connection if you have a public IPv6 address. STK currently uses dual-stack mode which requires server to have both IPv4 and IPv6 and listen to same port, firewalled-server will be disabled so you need to make sure this server has port-forwarding configured properly if needed. -->
|
||||||
|
<ipv6-server value="false" />
|
||||||
|
|
||||||
<!-- No server owner in lobby which can control the starting of game or kick any players. -->
|
<!-- No server owner in lobby which can control the starting of game or kick any players. -->
|
||||||
<owner-less value="false" />
|
<owner-less value="false" />
|
||||||
|
|
||||||
@@ -141,27 +147,50 @@ The current server configuration xml looks like this:
|
|||||||
<!-- Kick players whose ping is above max-ping. -->
|
<!-- Kick players whose ping is above max-ping. -->
|
||||||
<kick-high-ping-players value="false" />
|
<kick-high-ping-players value="false" />
|
||||||
|
|
||||||
|
<!-- Allow players exceeding max-ping to have a playable game, if enabled kick-high-ping-players will be disabled, please also use a default value for max-ping and jitter-tolerance with it. -->
|
||||||
|
<high-ping-workaround value="true" />
|
||||||
|
|
||||||
<!-- Kick idle player which has no network activity to server for more than some seconds during game, unless he has finished the race. Negative value to disable, and this option will always be disabled for LAN server. -->
|
<!-- Kick idle player which has no network activity to server for more than some seconds during game, unless he has finished the race. Negative value to disable, and this option will always be disabled for LAN server. -->
|
||||||
<kick-idle-player-seconds value="60" />
|
<kick-idle-player-seconds value="60" />
|
||||||
|
|
||||||
<!-- Set how many states the server will send per second, the higher this value, the more bandwidth requires, also each client will trigger more rewind, which clients with slow device may have problem playing this server, use the default value is recommended. -->
|
<!-- Set how many states the server will send per second, the higher this value, the more bandwidth requires, also each client will trigger more rewind, which clients with slow device may have problem playing this server, use the default value is recommended. -->
|
||||||
<state-frequency value="10" />
|
<state-frequency value="10" />
|
||||||
|
|
||||||
<!-- ip: IP in X.X.X.X/Y (CIDR) format for banning, use Y of 32 for a specific ip, expired-time: unix timestamp to expire, -1 (uint32_t max) for a permanent ban. -->
|
<!-- Use sql database for handling server stats and maintenance, STK needs to be compiled with sqlite3 supported. -->
|
||||||
<server-ip-ban-list>
|
<sql-management value="false" />
|
||||||
<ban ip="0.0.0.0/0" expired-time="0"/>
|
|
||||||
</server-ip-ban-list>
|
|
||||||
|
|
||||||
<!-- online-id: online id for banning, expired-time: unix timestamp to expire, -1 (uint32_t max) for a permanent ban. -->
|
<!-- Database filename for sqlite to use, it can be shared for all servers created in this machine, and stk will create specific table for each server. You need to create the database yourself first, see NETWORKING.md for details -->
|
||||||
<server-online-id-ban-list>
|
<database-file value="stkservers.db" />
|
||||||
<ban online-id="0" expired-time="0"/>
|
|
||||||
</server-online-id-ban-list>
|
<!-- Specified in millisecond for maximum time waiting in sqlite3_busy_handler. You may need a higher value if your database is shared by many servers or having a slow hard disk. -->
|
||||||
|
<database-timeout value="1000" />
|
||||||
|
|
||||||
|
<!-- IPv4 ban list table name, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. STK can auto kick active peer from ban list (update per minute) which allows live kicking peer by inserting record to database. -->
|
||||||
|
<ip-ban-table value="ip_ban" />
|
||||||
|
|
||||||
|
<!-- IPv6 ban list table name, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. STK can auto kick active peer from ban list (update per minute) which allows live kicking peer by inserting record to database. -->
|
||||||
|
<ipv6-ban-table value="ipv6_ban" />
|
||||||
|
|
||||||
|
<!-- Online ID ban list table name, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. STK can auto kick active peer from ban list (update per minute) which allows live kicking peer by inserting record to database. -->
|
||||||
|
<online-id-ban-table value="online_id_ban" />
|
||||||
|
|
||||||
|
<!-- Player reports table name, which will be written when a player reports player in the network user dialog, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. -->
|
||||||
|
<player-reports-table value="player_reports" />
|
||||||
|
|
||||||
|
<!-- Days to keep player reports, older than that will be auto cleared, 0 to keep them forever. -->
|
||||||
|
<player-reports-expired-days value="3" />
|
||||||
|
|
||||||
|
<!-- IP geolocation table, you only need this table if you want to geolocate IP from non-stk-addons connection, as all validated players connecting from stk-addons will provide the location info, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. -->
|
||||||
|
<ip-geolocation-table value="ip_mapping" />
|
||||||
|
|
||||||
|
<!-- If true this server will auto add / remove AI connected with network-ai=x, which will kick N - 1 bot(s) where N is the number of human players. Only use this for non-GP racing server. -->
|
||||||
|
<ai-handling value="false" />
|
||||||
|
|
||||||
</server-config>
|
</server-config>
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
At the moment STK has a list of STUN servers for NAT penetration which allows players or servers behind a firewall or router to be able to connect to each other, but in case it doesn't work, you have to manually disable the firewall or port forward the port(s) used by the STK.
|
At the moment STK has a list of STUN servers for NAT penetration which allows players or servers behind a firewall or router to be able to connect to each other, but in case it doesn't work, you have to manually disable the firewall or port forward the port(s) used by STK.
|
||||||
By default STK servers use port `2759`. For example, in Ubuntu based distributions, run the following command to disable the firewall on that port:
|
By default STK servers use port `2759`. For example, in Ubuntu based distributions, run the following command to disable the firewall on that port:
|
||||||
|
|
||||||
`sudo ufw allow 2759`
|
`sudo ufw allow 2759`
|
||||||
@@ -185,20 +214,133 @@ After the first time configuration, you can just start the server with the comma
|
|||||||
You can find out that directory location [here (See Where is the configuration stored?)](https://supertuxkart.net/FAQ)
|
You can find out that directory location [here (See Where is the configuration stored?)](https://supertuxkart.net/FAQ)
|
||||||
|
|
||||||
## Testing server
|
## Testing server
|
||||||
There is a network AI tester in STK which can use AI on player controller for server hosting linear races game mode, which helps automating the testing for servers, to enable it use:
|
There is a network AI tester in STK which can use AI on player controller for server hosting linear races game mode, which helps automating the testing for servers, to enable it use it on lan server:
|
||||||
|
|
||||||
`supertuxkart --connect-now=x.x.x.x:y --server-id=id --network-ai=n --auto-connect --no-graphics`
|
`supertuxkart --connect-now=x.x.x.x:y --network-ai=n --no-graphics`
|
||||||
|
|
||||||
x.x.x.x:y is your server ip address with its port, id is the id field of server-info in STK server xml list, omit it if you are testing LAN server, n is the number of AI you want to create.
|
Remove `--no-graphics` if you want to see the AI racing. You can also run network AI tester in server-only build of STK.
|
||||||
|
|
||||||
You can see STK server xml list [here](https://online.supertuxkart.net/api/v2/server/get-all).
|
With the network AI tester, it's easier to for example simulate high-loaded servers or bad networks (ones with high ping and/or packet loss).
|
||||||
|
|
||||||
You can remove `--auto-connect` if you have another client which can control the starting of games in server, or you can consider enable owner-less mode on server so the games on server can keep going. Remove `--no-graphics` if you want to see the AI racing. You can also run network AI tester in server-only build of STK.
|
Tested on a Raspberry Pi 3 Model B+, if you have 8 players connected to a server hosted on it, the usage of a single CPU core is ~60% and there are ~60MB of memory usage for game with heavy tracks like Cocoa Temple or Candela City on the server, you can use the above figures to estimate how many STK servers can be hosted on the same computer.
|
||||||
|
|
||||||
With the network AI tester, it's easier to for example simulate high-loaded servers or bad (high ping with packet loss) network.
|
For bad network simulation, we recommend `network traffic control` by Linux kernel, see [here](https://wiki.linuxfoundation.org/networking/netem) for details.
|
||||||
|
|
||||||
Tested on a Raspberry Pi 3 Model B+, if you have 8 players connected to a server hosted on it, the usage of a single CPU core is ~60% and there are ~60MB of memory usage for game with heavy tracks like Cocoa Temple or Candela City on the server, you can use the above figures to consider number of STK servers hosting on a same computer.
|
You will have the best gaming experience by choosing a server where all players have less than 100ms ping with no packet loss.
|
||||||
|
|
||||||
For bad network simulation, we recommend `network traffic control` by linux kernel, see [here](https://wiki.linuxfoundation.org/networking/netem) for details.
|
## Server management (Since 1.1)
|
||||||
|
|
||||||
You have the best gaming experience when choosing server having all players less than 100ms ping with no packet loss.
|
Currently STK uses sqlite (if building with sqlite3 on) for server management with the following functions at the moment:
|
||||||
|
1. Server statistics
|
||||||
|
2. IP / online ID ban list
|
||||||
|
3. Player reports
|
||||||
|
4. IPv4 geolocation
|
||||||
|
|
||||||
|
You need to create a database in sqlite first, run `sqlite3 stkservers.db` in the folder where (all) your server_config.xml(s) located.
|
||||||
|
|
||||||
|
A table named `v(server database version)_(your_server_config_filename_without_.xml_extension)_stats` will also be created in your database if one does not exist.:
|
||||||
|
```sql
|
||||||
|
CREATE TABLE IF NOT EXISTS (table name above)
|
||||||
|
(
|
||||||
|
host_id INTEGER UNSIGNED NOT NULL PRIMARY KEY, -- Unique host id in STKHost of each connection session for a STKPeer
|
||||||
|
ip INTEGER UNSIGNED NOT NULL, -- IP decimal of host
|
||||||
|
ipv6 TEXT NOT NULL DEFAULT '', -- IPv6 (if exists) in string of host (only created if IPv6 server)
|
||||||
|
port INTEGER UNSIGNED NOT NULL, -- Port of host
|
||||||
|
online_id INTEGER UNSIGNED NOT NULL, -- Online if of the host (0 for offline account)
|
||||||
|
username TEXT NOT NULL, -- First player name in the host (if the host has splitscreen player)
|
||||||
|
player_num INTEGER UNSIGNED NOT NULL, -- Number of player(s) from the host, more than 1 if it has splitscreen player
|
||||||
|
country_code TEXT NULL DEFAULT NULL, -- 2-letter country code of the host
|
||||||
|
version TEXT NOT NULL, -- SuperTuxKart version of the host
|
||||||
|
os TEXT NOT NULL, -- Operating system of the host
|
||||||
|
connected_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Time when connected
|
||||||
|
disconnected_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Time when disconnected (saved when disconnected)
|
||||||
|
ping INTEGER UNSIGNED NOT NULL DEFAULT 0 -- Ping of the host
|
||||||
|
) WITHOUT ROWID;
|
||||||
|
```
|
||||||
|
|
||||||
|
STK will also create the following default views from the stats table:
|
||||||
|
|
||||||
|
`*_full_stats`
|
||||||
|
Full stats with ip in human readable format and time played of each players in minutes.
|
||||||
|
|
||||||
|
`*_current_players`
|
||||||
|
Current players in server with ip in human readable format and time played of each players in minutes.
|
||||||
|
|
||||||
|
`*_player_stats`
|
||||||
|
All players with online id and username with their time played stats in this server since creation of this database.
|
||||||
|
If sqlite supports window functions (since 3.25), it will include last session player info (ip, country, ping...).
|
||||||
|
|
||||||
|
A empty table named `v(server database version)_countries` will also be created in your database if not exists:
|
||||||
|
```sql
|
||||||
|
CREATE TABLE IF NOT EXISTS (table name above)
|
||||||
|
(
|
||||||
|
country_code TEXT NOT NULL PRIMARY KEY UNIQUE, -- Unique 2-letter country code
|
||||||
|
country_flag TEXT NOT NULL, -- Unicode country flag representation of 2-letter country code
|
||||||
|
country_name TEXT NOT NULL -- Readable name of this country
|
||||||
|
) WITHOUT ROWID;
|
||||||
|
```
|
||||||
|
|
||||||
|
If you want to see flags and readable names of countries in the above views, you need to initialize `v(server database version)_countries` table, check [this script](tools/generate-countries-table.py).
|
||||||
|
|
||||||
|
For IPv4 and online ID ban list, player reports or IP mapping, you need to create one yourself:
|
||||||
|
```sql
|
||||||
|
CREATE TABLE ip_ban
|
||||||
|
(
|
||||||
|
ip_start INTEGER UNSIGNED NOT NULL UNIQUE, -- Starting of ip decimal for banning (inclusive)
|
||||||
|
ip_end INTEGER UNSIGNED NOT NULL UNIQUE, -- Ending of ip decimal for banning (inclusive)
|
||||||
|
starting_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Starting time of this banning entry to be effective
|
||||||
|
expired_days REAL NULL DEFAULT NULL, -- Days for this banning to be expired, use NULL for a permanent ban
|
||||||
|
reason TEXT NOT NULL DEFAULT '', -- Banned reason shown in user stk menu, can be empty
|
||||||
|
description TEXT NOT NULL DEFAULT '', -- Private description for server admin
|
||||||
|
trigger_count INTEGER UNSIGNED NOT NULL DEFAULT 0, -- Number of banning triggered by this ban entry
|
||||||
|
last_trigger TIMESTAMP NULL DEFAULT NULL -- Latest time this banning entry was triggered
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE ipv6_ban
|
||||||
|
(
|
||||||
|
ipv6_cidr TEXT NOT NULL UNIQUE, -- IPv6 CIDR range for banning (for example 2001::/64), use /128 for a specific ip
|
||||||
|
starting_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Starting time of this banning entry to be effective
|
||||||
|
expired_days REAL NULL DEFAULT NULL, -- Days for this banning to be expired, use NULL for a permanent ban
|
||||||
|
reason TEXT NOT NULL DEFAULT '', -- Banned reason shown in user stk menu, can be empty
|
||||||
|
description TEXT NOT NULL DEFAULT '', -- Private description for server admin
|
||||||
|
trigger_count INTEGER UNSIGNED NOT NULL DEFAULT 0, -- Number of banning triggered by this ban entry
|
||||||
|
last_trigger TIMESTAMP NULL DEFAULT NULL -- Latest time this banning entry was triggered
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE online_id_ban
|
||||||
|
(
|
||||||
|
online_id INTEGER UNSIGNED NOT NULL UNIQUE, -- Online id from STK addons database for banning
|
||||||
|
starting_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Starting time of this banning entry to be effective
|
||||||
|
expired_days REAL NULL DEFAULT NULL, -- Days for this banning to be expired, use NULL for a permanent ban
|
||||||
|
reason TEXT NOT NULL DEFAULT '', -- Banned reason shown in user stk menu, can be empty
|
||||||
|
description TEXT NOT NULL DEFAULT '', -- Private description for server admin
|
||||||
|
trigger_count INTEGER UNSIGNED NOT NULL DEFAULT 0, -- Number of banning triggered by this ban entry
|
||||||
|
last_trigger TIMESTAMP NULL DEFAULT NULL -- Latest time this banning entry was triggered
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE player_reports
|
||||||
|
(
|
||||||
|
server_uid TEXT NOT NULL, -- Report from which server unique id (config filename)
|
||||||
|
reporter_ip INTEGER UNSIGNED NOT NULL, -- IP decimal of player who reports
|
||||||
|
reporter_ipv6 TEXT NOT NULL DEFAULT '', -- IPv6 (if exists) in string of player who reports (only needed for IPv6 server)
|
||||||
|
reporter_online_id INTEGER UNSIGNED NOT NULL, -- Online id of player who reports, 0 for offline player
|
||||||
|
reporter_username TEXT NOT NULL, -- Player name who reports
|
||||||
|
reported_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Time of reporting
|
||||||
|
info TEXT NOT NULL, -- Report info by reporter
|
||||||
|
reporting_ip INTEGER UNSIGNED NOT NULL, -- IP decimal of player being reported
|
||||||
|
reporting_ipv6 TEXT NOT NULL DEFAULT '', -- IPv6 (if exists) in string of player who reports (only needed for IPv6 server)
|
||||||
|
reporting_online_id INTEGER UNSIGNED NOT NULL, -- Online id of player being reported, 0 for offline player
|
||||||
|
reporting_username TEXT NOT NULL -- Player name being reported
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE ip_mapping
|
||||||
|
(
|
||||||
|
ip_start INTEGER UNSIGNED NOT NULL PRIMARY KEY UNIQUE, -- IP decimal start
|
||||||
|
ip_end INTEGER UNSIGNED NOT NULL UNIQUE, -- IP decimal end
|
||||||
|
latitude REAL NOT NULL, -- Latitude of this IP range
|
||||||
|
longitude REAL NOT NULL, -- Longitude of this IP range
|
||||||
|
country_code TEXT NOT NULL -- 2-letter country code
|
||||||
|
) WITHOUT ROWID;
|
||||||
|
```
|
||||||
|
|
||||||
|
For initialization of `ip_mapping` table, check [this script](tools/generate-ip-mappings.py).
|
||||||
|
|||||||
@@ -5,7 +5,9 @@
|
|||||||
|
|
||||||
SuperTuxKart is a free kart racing game. It focuses on fun and not on realistic kart physics. Instructions can be found on the in-game help page.
|
SuperTuxKart is a free kart racing game. It focuses on fun and not on realistic kart physics. Instructions can be found on the in-game help page.
|
||||||
|
|
||||||
The SuperTuxKart homepage can be found at <https://supertuxkart.net/>. There is also our [FAQ](https://supertuxkart.net/FAQ) and information on how get in touch with the [community](https://supertuxkart.net/Community)
|
The SuperTuxKart homepage can be found at <https://supertuxkart.net/>. There is also our [FAQ](https://supertuxkart.net/FAQ) and information on how get in touch with the [community](https://supertuxkart.net/Community).
|
||||||
|
|
||||||
|
Latest release binaries can be found [here](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/1.0/).
|
||||||
|
|
||||||
## Hardware Requirements
|
## Hardware Requirements
|
||||||
To run SuperTuxKart, make sure that your computer's specifications are equal or higher than the following specifications:
|
To run SuperTuxKart, make sure that your computer's specifications are equal or higher than the following specifications:
|
||||||
@@ -19,6 +21,8 @@ To run SuperTuxKart, make sure that your computer's specifications are equal or
|
|||||||
## License
|
## License
|
||||||
The software is released under the GNU General Public License (GPL) which can be found in the file [`COPYING`](/COPYING) in the same directory as this file. Information about the licenses for the artwork is contained in `data/licenses`.
|
The software is released under the GNU General Public License (GPL) which can be found in the file [`COPYING`](/COPYING) in the same directory as this file. Information about the licenses for the artwork is contained in `data/licenses`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 3D coordinates
|
## 3D coordinates
|
||||||
A reminder for those who are looking at the code and 3D models:
|
A reminder for those who are looking at the code and 3D models:
|
||||||
|
|
||||||
|
|||||||
@@ -58,13 +58,6 @@ include $(PREBUILT_STATIC_LIBRARY)
|
|||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
|
||||||
# Freetype
|
|
||||||
LOCAL_MODULE := freetype
|
|
||||||
LOCAL_SRC_FILES := obj/freetype/objs/.libs/libfreetype.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
|
|
||||||
|
|
||||||
# zlib
|
# zlib
|
||||||
LOCAL_MODULE := zlib
|
LOCAL_MODULE := zlib
|
||||||
LOCAL_SRC_FILES := obj/zlib/libz.a
|
LOCAL_SRC_FILES := obj/zlib/libz.a
|
||||||
@@ -79,6 +72,44 @@ include $(PREBUILT_STATIC_LIBRARY)
|
|||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
|
||||||
|
# Fribidi
|
||||||
|
LOCAL_MODULE := fribidi
|
||||||
|
LOCAL_SRC_FILES := obj/fribidi/lib/.libs/libfribidi.a
|
||||||
|
include $(PREBUILT_STATIC_LIBRARY)
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
|
||||||
|
# Freetype
|
||||||
|
LOCAL_MODULE := freetype
|
||||||
|
LOCAL_SRC_FILES := obj/freetype/objs/.libs/libfreetype.a
|
||||||
|
include $(PREBUILT_STATIC_LIBRARY)
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
|
||||||
|
# Harfbuzz
|
||||||
|
LOCAL_MODULE := harfbuzz
|
||||||
|
LOCAL_SRC_FILES := obj/harfbuzz/src/.libs/libharfbuzz.a
|
||||||
|
include $(PREBUILT_STATIC_LIBRARY)
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
|
||||||
|
# Raqm
|
||||||
|
LOCAL_MODULE := raqm
|
||||||
|
LOCAL_PATH := .
|
||||||
|
LOCAL_CPP_FEATURES += rtti
|
||||||
|
LOCAL_SRC_FILES := $(wildcard ../lib/libraqm/*.c)
|
||||||
|
LOCAL_CFLAGS := -Iobj/fribidi/include \
|
||||||
|
-Iobj/freetype/include \
|
||||||
|
-Iobj/harfbuzz/include \
|
||||||
|
-DHAVE_DECL_HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES \
|
||||||
|
-DHAVE_HB_BUFFER_SET_INVISIBLE_GLYPH \
|
||||||
|
-DHAVE_HB_FT_FONT_CREATE_REFERENCED \
|
||||||
|
-DHAVE_HB_FT_FONT_SET_LOAD_FLAGS \
|
||||||
|
-std=c99
|
||||||
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
|
||||||
# ifaddrs
|
# ifaddrs
|
||||||
LOCAL_MODULE := ifaddrs
|
LOCAL_MODULE := ifaddrs
|
||||||
LOCAL_PATH := .
|
LOCAL_PATH := .
|
||||||
@@ -104,7 +135,7 @@ LOCAL_MODULE := enet
|
|||||||
LOCAL_PATH := .
|
LOCAL_PATH := .
|
||||||
LOCAL_CPP_FEATURES += rtti
|
LOCAL_CPP_FEATURES += rtti
|
||||||
LOCAL_SRC_FILES := $(wildcard ../lib/enet/*.c)
|
LOCAL_SRC_FILES := $(wildcard ../lib/enet/*.c)
|
||||||
LOCAL_CFLAGS := -I../lib/enet/include/ -DHAS_SOCKLEN_T
|
LOCAL_CFLAGS := -I../lib/enet/include/ -DHAS_SOCKLEN_T -DENABLE_IPV6
|
||||||
include $(BUILD_STATIC_LIBRARY)
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
@@ -120,6 +151,26 @@ include $(BUILD_STATIC_LIBRARY)
|
|||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
|
||||||
|
# Graphics utils
|
||||||
|
LOCAL_MODULE := graphics_utils
|
||||||
|
LOCAL_PATH := .
|
||||||
|
LOCAL_CPP_FEATURES += rtti
|
||||||
|
LOCAL_SRC_FILES := $(wildcard ../lib/graphics_utils/mipmap/*.c)
|
||||||
|
LOCAL_CFLAGS := -I../lib/graphics_utils/mipmap
|
||||||
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
|
||||||
|
# MCPP
|
||||||
|
LOCAL_MODULE := mcpp
|
||||||
|
LOCAL_PATH := .
|
||||||
|
LOCAL_CPP_FEATURES += rtti
|
||||||
|
LOCAL_SRC_FILES := $(wildcard ../lib/mcpp/*.c)
|
||||||
|
LOCAL_CFLAGS := -DMCPP_LIB -DHAVE_CONFIG_H
|
||||||
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
|
||||||
# Irrlicht
|
# Irrlicht
|
||||||
LOCAL_MODULE := irrlicht
|
LOCAL_MODULE := irrlicht
|
||||||
LOCAL_PATH := .
|
LOCAL_PATH := .
|
||||||
@@ -129,9 +180,11 @@ LOCAL_SRC_FILES := $(wildcard ../lib/irrlicht/source/Irrlicht/*.cpp)
|
|||||||
../lib/irrlicht/source/Irrlicht/stk_android_native_app_glue.c
|
../lib/irrlicht/source/Irrlicht/stk_android_native_app_glue.c
|
||||||
LOCAL_CFLAGS := -I../lib/irrlicht/source/Irrlicht/ \
|
LOCAL_CFLAGS := -I../lib/irrlicht/source/Irrlicht/ \
|
||||||
-I../lib/irrlicht/include/ \
|
-I../lib/irrlicht/include/ \
|
||||||
|
-I../src \
|
||||||
-Iobj/jpeglib/ \
|
-Iobj/jpeglib/ \
|
||||||
-Iobj/libpng/ \
|
-Iobj/libpng/ \
|
||||||
-Iobj/zlib/
|
-Iobj/zlib/ \
|
||||||
|
-DANDROID_PACKAGE_CALLBACK_NAME=$(PACKAGE_CALLBACK_NAME)
|
||||||
LOCAL_CPPFLAGS := -std=gnu++0x
|
LOCAL_CPPFLAGS := -std=gnu++0x
|
||||||
LOCAL_STATIC_LIBRARIES := jpeglib png zlib
|
LOCAL_STATIC_LIBRARIES := jpeglib png zlib
|
||||||
include $(BUILD_STATIC_LIBRARY)
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
@@ -148,29 +201,37 @@ LOCAL_SRC_FILES := $(wildcard ../src/*.cpp) \
|
|||||||
LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv3 -lOpenSLES
|
LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv3 -lOpenSLES
|
||||||
LOCAL_CFLAGS := -I../lib/angelscript/include \
|
LOCAL_CFLAGS := -I../lib/angelscript/include \
|
||||||
-I../lib/bullet/src \
|
-I../lib/bullet/src \
|
||||||
|
-I../lib/libraqm \
|
||||||
-I../lib/enet/include \
|
-I../lib/enet/include \
|
||||||
-I../lib/ifaddrs \
|
-I../lib/ifaddrs \
|
||||||
-I../lib/irrlicht/include \
|
-I../lib/irrlicht/include \
|
||||||
-I../lib/irrlicht/source/Irrlicht \
|
-I../lib/irrlicht/source/Irrlicht \
|
||||||
|
-I../lib/graphics_utils \
|
||||||
|
-I../lib/mcpp \
|
||||||
-I../src \
|
-I../src \
|
||||||
-Iobj/curl/include \
|
-Iobj/curl/include \
|
||||||
|
-Iobj/fribidi/include \
|
||||||
-Iobj/freetype/include \
|
-Iobj/freetype/include \
|
||||||
|
-Iobj/harfbuzz/include \
|
||||||
-Iobj/libogg/include \
|
-Iobj/libogg/include \
|
||||||
-Iobj/libvorbis/include \
|
-Iobj/libvorbis/include \
|
||||||
-Iobj/openal/include \
|
-Iobj/openal/include \
|
||||||
-Iobj/openssl/include \
|
-Iobj/openssl/include \
|
||||||
-DUSE_GLES2 \
|
-DUSE_GLES2 \
|
||||||
|
-DMOBILE_STK \
|
||||||
-DENABLE_SOUND \
|
-DENABLE_SOUND \
|
||||||
|
-DENABLE_IPV6 \
|
||||||
-DENABLE_CRYPTO_OPENSSL \
|
-DENABLE_CRYPTO_OPENSSL \
|
||||||
-DNDEBUG \
|
-DNDEBUG \
|
||||||
-DANDROID_PACKAGE_NAME=\"$(PACKAGE_NAME)\" \
|
-DANDROID_PACKAGE_NAME=\"$(PACKAGE_NAME)\" \
|
||||||
-DANDROID_APP_DIR_NAME=\"$(APP_DIR_NAME)\" \
|
-DANDROID_APP_DIR_NAME=\"$(APP_DIR_NAME)\" \
|
||||||
-DSUPERTUXKART_VERSION=\"$(PROJECT_VERSION)\"
|
-DSUPERTUXKART_VERSION=\"$(PROJECT_VERSION)\" \
|
||||||
|
-DANDROID_PACKAGE_CALLBACK_NAME=$(PACKAGE_CALLBACK_NAME)
|
||||||
LOCAL_CPPFLAGS := -std=gnu++0x
|
LOCAL_CPPFLAGS := -std=gnu++0x
|
||||||
|
|
||||||
LOCAL_STATIC_LIBRARIES := irrlicht bullet enet freetype ifaddrs angelscript \
|
LOCAL_STATIC_LIBRARIES := irrlicht bullet enet ifaddrs angelscript mcpp \
|
||||||
vorbisfile vorbis ogg openal curl libssl libcrypto \
|
vorbisfile vorbis ogg openal curl libssl libcrypto \
|
||||||
gnustl_static
|
gnustl_static raqm fribidi harfbuzz freetype graphics_utils
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|||||||
@@ -5,17 +5,16 @@
|
|||||||
android:versionName="git"
|
android:versionName="git"
|
||||||
android:installLocation="auto">
|
android:installLocation="auto">
|
||||||
|
|
||||||
<!-- This .apk has no Java code itself, so set hasCode to false. -->
|
|
||||||
<application android:label="@string/app_name"
|
<application android:label="@string/app_name"
|
||||||
android:icon="@drawable/icon"
|
android:icon="@drawable/icon"
|
||||||
android:banner="@drawable/banner"
|
android:banner="@drawable/banner"
|
||||||
android:hasCode="false"
|
android:hasCode="true"
|
||||||
android:isGame="true"
|
android:isGame="true"
|
||||||
android:theme="@android:style/Theme.DeviceDefault.NoActionBar.TranslucentDecor"
|
android:theme="@android:style/Theme.DeviceDefault.NoActionBar.TranslucentDecor"
|
||||||
android:hardwareAccelerated="true"
|
android:hardwareAccelerated="true"
|
||||||
android:resizeableActivity="false">
|
android:resizeableActivity="false">
|
||||||
|
|
||||||
<activity android:name="android.app.NativeActivity"
|
<activity android:name=".SuperTuxKartActivity"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:launchMode="singleTask"
|
android:launchMode="singleTask"
|
||||||
android:configChanges="fontScale|keyboard|keyboardHidden|layoutDirection|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|uiMode"
|
android:configChanges="fontScale|keyboard|keyboardHidden|layoutDirection|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|uiMode"
|
||||||
@@ -37,6 +36,7 @@
|
|||||||
android:targetSdkVersion="26" />
|
android:targetSdkVersion="26" />
|
||||||
<uses-feature android:glEsVersion="0x00020000" />
|
<uses-feature android:glEsVersion="0x00020000" />
|
||||||
<uses-feature android:name="android.software.leanback" android:required="false" />
|
<uses-feature android:name="android.software.leanback" android:required="false" />
|
||||||
|
<uses-feature android:name="android.software.input_methods" android:required="false" />
|
||||||
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
|
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
|
||||||
<uses-feature android:name="android.hardware.gamepad" android:required="false"/>
|
<uses-feature android:name="android.hardware.gamepad" android:required="false"/>
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ after some tweaks, but atm. only linux is supported.
|
|||||||
|
|
||||||
Dependencies list (may be incomplete):
|
Dependencies list (may be incomplete):
|
||||||
|
|
||||||
autoconf, automake, make, python, gradle, ant, imagemagick, cmake,
|
autoconf, automake, make, python, gradle, imagemagick, cmake,
|
||||||
vorbis-tools, pngquant
|
vorbis-tools, pngquant
|
||||||
|
|
||||||
Additionally some dependencies for optimize_data script:
|
Additionally some dependencies for optimize_data script:
|
||||||
@@ -80,21 +80,15 @@ to just run:
|
|||||||
ENVIRONMENT VARIABLES
|
ENVIRONMENT VARIABLES
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
COMPILE_ARCH - Allows to choose CPU architecture for which the package will
|
COMPILE_ARCH - Allows one to choose CPU architecture for which the package will
|
||||||
be compiled.
|
be compiled.
|
||||||
Possible values: armv7, aarch64, x86, x86_64.
|
Possible values: armv7, aarch64, x86, x86_64.
|
||||||
Default is: armv7.
|
Default is: armv7.
|
||||||
|
|
||||||
BUILD_TYPE - Allows to set build type.
|
BUILD_TYPE - Allows one to set build type.
|
||||||
Possible values: debug, release, beta.
|
Possible values: debug, release, beta.
|
||||||
Default is: debug.
|
Default is: debug.
|
||||||
|
|
||||||
BUILD_TOOL - Allows to choose a tool that is used for creating package.
|
|
||||||
Note that ant has been already removed from Android SDK, so
|
|
||||||
you have to use SDK <= 25.2.5 for building with ant.
|
|
||||||
Possible values: ant, gradle.
|
|
||||||
Default is: gradle.
|
|
||||||
|
|
||||||
BUILD_TOOLS_VER - Allows to override the SDK build-tools version.
|
BUILD_TOOLS_VER - Allows to override the SDK build-tools version.
|
||||||
|
|
||||||
SDK_PATH - Path to SDK directory
|
SDK_PATH - Path to SDK directory
|
||||||
|
|||||||
@@ -3,11 +3,21 @@ buildscript
|
|||||||
repositories
|
repositories
|
||||||
{
|
{
|
||||||
jcenter()
|
jcenter()
|
||||||
|
google()
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies
|
dependencies
|
||||||
{
|
{
|
||||||
classpath 'com.android.tools.build:gradle:2.2.3'
|
classpath 'com.android.tools.build:gradle:3.3.2'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
allprojects
|
||||||
|
{
|
||||||
|
repositories
|
||||||
|
{
|
||||||
|
jcenter()
|
||||||
|
google()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project name="SuperTuxKart" default="help">
|
|
||||||
|
|
||||||
<import file="${sdk.dir}/tools/ant/build.xml" />
|
|
||||||
|
|
||||||
</project>
|
|
||||||
@@ -19,14 +19,28 @@
|
|||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
export KARTS="all"
|
export KARTS_DEFAULT="all"
|
||||||
export TRACKS="abyss arena_candela_city battleisland cave cornfield_crossing \
|
export TRACKS_DEFAULT="abyss arena_candela_city battleisland cave \
|
||||||
endcutscene featunlocked fortmagma gplose gpwin hacienda \
|
cornfield_crossing endcutscene featunlocked fortmagma \
|
||||||
icy_soccer_field introcutscene introcutscene2 lasdunasarena \
|
gplose gpwin hacienda icy_soccer_field introcutscene \
|
||||||
lasdunassoccer lighthouse mines minigolf olivermath overworld \
|
introcutscene2 lasdunasarena lasdunassoccer lighthouse \
|
||||||
ravenbridge_mansion sandtrack scotland snowmountain snowtuxpeak \
|
mines minigolf olivermath overworld pumpkin_park \
|
||||||
soccer_field stadium stk_enterprise temple tutorial \
|
ravenbridge_mansion sandtrack scotland snowmountain \
|
||||||
volcano_island xr591 zengarden"
|
snowtuxpeak soccer_field stadium stk_enterprise temple \
|
||||||
|
tutorial volcano_island xr591 zengarden"
|
||||||
|
|
||||||
|
export TEXTURE_SIZE_DEFAULT=256
|
||||||
|
export JPEG_QUALITY_DEFAULT=85
|
||||||
|
export PNG_QUALITY_DEFAULT=95
|
||||||
|
export PNGQUANT_QUALITY_DEFAULT=90
|
||||||
|
export SOUND_QUALITY_DEFAULT=42
|
||||||
|
export SOUND_MONO_DEFAULT=1
|
||||||
|
export SOUND_SAMPLE_DEFAULT=32000
|
||||||
|
|
||||||
|
export RUN_OPTIMIZE_SCRIPT_DEFAULT=0
|
||||||
|
export DECREASE_QUALITY_DEFAULT=1
|
||||||
|
export CONVERT_TO_JPG_DEFAULT=1
|
||||||
|
export ONLY_ASSETS_DEFAULT=0
|
||||||
|
|
||||||
export ASSETS_PATHS="../data \
|
export ASSETS_PATHS="../data \
|
||||||
../../stk-assets \
|
../../stk-assets \
|
||||||
@@ -34,17 +48,6 @@ export ASSETS_PATHS="../data \
|
|||||||
|
|
||||||
export ASSETS_DIRS="library models music sfx textures"
|
export ASSETS_DIRS="library models music sfx textures"
|
||||||
|
|
||||||
export TEXTURE_SIZE=256
|
|
||||||
export JPEG_QUALITY=85
|
|
||||||
export PNG_QUALITY=95
|
|
||||||
export SOUND_QUALITY=42
|
|
||||||
export SOUND_MONO=1
|
|
||||||
export SOUND_SAMPLE=32000
|
|
||||||
|
|
||||||
export RUN_OPTIMIZE_SCRIPT=0
|
|
||||||
export DECREASE_QUALITY=1
|
|
||||||
export CONVERT_TO_JPG=1
|
|
||||||
|
|
||||||
export CONVERT_TO_JPG_BLACKLIST="data/models/traffic_light.png"
|
export CONVERT_TO_JPG_BLACKLIST="data/models/traffic_light.png"
|
||||||
|
|
||||||
export BLACKLIST_FILES="data/music/cocoa_river_fast.ogg2"
|
export BLACKLIST_FILES="data/music/cocoa_river_fast.ogg2"
|
||||||
@@ -55,6 +58,59 @@ export LANG=C
|
|||||||
|
|
||||||
cd "`dirname "$0"`"
|
cd "`dirname "$0"`"
|
||||||
|
|
||||||
|
# Set default configuration if not changed outside of the script
|
||||||
|
if [ -z "$KARTS" ]; then
|
||||||
|
export KARTS="$KARTS_DEFAULT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$TRACKS" ]; then
|
||||||
|
export TRACKS="$TRACKS_DEFAULT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$TEXTURE_SIZE" ]; then
|
||||||
|
export TEXTURE_SIZE="$TEXTURE_SIZE_DEFAULT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$JPEG_QUALITY" ]; then
|
||||||
|
export JPEG_QUALITY="$JPEG_QUALITY_DEFAULT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$PNG_QUALITY" ]; then
|
||||||
|
export PNG_QUALITY="$PNG_QUALITY_DEFAULT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$PNGQUANT_QUALITY" ]; then
|
||||||
|
export PNGQUANT_QUALITY="$PNGQUANT_QUALITY_DEFAULT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOUND_QUALITY" ]; then
|
||||||
|
export SOUND_QUALITY="$SOUND_QUALITY_DEFAULT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOUND_MONO" ]; then
|
||||||
|
export SOUND_MONO="$SOUND_MONO_DEFAULT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOUND_SAMPLE" ]; then
|
||||||
|
export SOUND_SAMPLE="$SOUND_SAMPLE_DEFAULT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$RUN_OPTIMIZE_SCRIPT" ]; then
|
||||||
|
export RUN_OPTIMIZE_SCRIPT="$RUN_OPTIMIZE_SCRIPT_DEFAULT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$DECREASE_QUALITY" ]; then
|
||||||
|
export DECREASE_QUALITY="$DECREASE_QUALITY_DEFAULT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$CONVERT_TO_JPG" ]; then
|
||||||
|
export CONVERT_TO_JPG="$CONVERT_TO_JPG_DEFAULT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$ONLY_ASSETS" ]; then
|
||||||
|
export ONLY_ASSETS=$ONLY_ASSETS_DEFAULT
|
||||||
|
fi
|
||||||
|
|
||||||
# Find assets path
|
# Find assets path
|
||||||
for ASSETS_PATH in $ASSETS_PATHS; do
|
for ASSETS_PATH in $ASSETS_PATHS; do
|
||||||
if [ -d $ASSETS_PATH ] && [ `ls $ASSETS_PATH | grep -c tracks` -gt 0 ]; then
|
if [ -d $ASSETS_PATH ] && [ `ls $ASSETS_PATH | grep -c tracks` -gt 0 ]; then
|
||||||
@@ -270,7 +326,7 @@ optimize_png()
|
|||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
pngquant --force --skip-if-larger --output "$FILE" -- "$FILE"
|
pngquant --force --skip-if-larger --quality 0-$PNGQUANT_QUALITY --output "$FILE" -- "$FILE"
|
||||||
}
|
}
|
||||||
|
|
||||||
convert_to_jpg()
|
convert_to_jpg()
|
||||||
@@ -309,21 +365,21 @@ convert_to_jpg()
|
|||||||
|
|
||||||
if [ $BLACKLISTED -eq 1 ]; then
|
if [ $BLACKLISTED -eq 1 ]; then
|
||||||
#echo " File is blacklisted. Ignore..."
|
#echo " File is blacklisted. Ignore..."
|
||||||
continue
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FILE_EXTENSION=`echo "$FILE" | tail -c 5`
|
FILE_EXTENSION=`echo "$FILE" | tail -c 5`
|
||||||
|
|
||||||
if [ `echo "$FILE_EXTENSION" | head -c 1` != "." ]; then
|
if [ `echo "$FILE_EXTENSION" | head -c 1` != "." ]; then
|
||||||
#echo " Unsupported file extension. Ignore..."
|
#echo " Unsupported file extension. Ignore..."
|
||||||
continue
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FILE_FORMAT=`identify -format %m "$FILE"`
|
FILE_FORMAT=`identify -format %m "$FILE"`
|
||||||
|
|
||||||
if [ "$FILE_FORMAT" = "JPEG" ]; then
|
if [ "$FILE_FORMAT" = "JPEG" ]; then
|
||||||
#echo " File is already JPEG. Ignore..."
|
#echo " File is already JPEG. Ignore..."
|
||||||
continue
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
IS_OPAQUE=`identify -format '%[opaque]' "$FILE"`
|
IS_OPAQUE=`identify -format '%[opaque]' "$FILE"`
|
||||||
@@ -331,7 +387,7 @@ convert_to_jpg()
|
|||||||
|
|
||||||
if [ "$IS_OPAQUE" = "False" ] || [ "$IS_OPAQUE" = "false" ]; then
|
if [ "$IS_OPAQUE" = "False" ] || [ "$IS_OPAQUE" = "false" ]; then
|
||||||
#echo " File has alpha channel. Ignore..."
|
#echo " File has alpha channel. Ignore..."
|
||||||
continue
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DIRNAME="`dirname "$FILE"`"
|
DIRNAME="`dirname "$FILE"`"
|
||||||
@@ -341,14 +397,14 @@ convert_to_jpg()
|
|||||||
|
|
||||||
if [ $IS_GLOSS_MAP -gt 0 ]; then
|
if [ $IS_GLOSS_MAP -gt 0 ]; then
|
||||||
#echo " File is a gloss-map. Ignore..."
|
#echo " File is a gloss-map. Ignore..."
|
||||||
continue
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NEW_FILE="`echo $FILE | head -c -5`.jpg"
|
NEW_FILE="`echo $FILE | head -c -5`.jpg"
|
||||||
|
|
||||||
if [ -f "$NEW_FILE" ]; then
|
if [ -f "$NEW_FILE" ]; then
|
||||||
#echo " There is already a file with .jpg extension. Ignore..."
|
#echo " There is already a file with .jpg extension. Ignore..."
|
||||||
continue
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# We can check if new file is smaller
|
# We can check if new file is smaller
|
||||||
@@ -590,8 +646,10 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
# Copy data directory
|
# Copy data directory
|
||||||
echo "Copy data directory"
|
if [ $ONLY_ASSETS -eq 0 ]; then
|
||||||
cp -a ../data/* assets/data/
|
echo "Copy data directory"
|
||||||
|
cp -a ../data/* assets/data/
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Remove unused files
|
# Remove unused files
|
||||||
@@ -613,6 +671,9 @@ find assets/* -type d | sort > assets/directories.txt
|
|||||||
sed -i s/'.\/assets\/'// assets/directories.txt
|
sed -i s/'.\/assets\/'// assets/directories.txt
|
||||||
sed -i s/'assets\/'// assets/directories.txt
|
sed -i s/'assets\/'// assets/directories.txt
|
||||||
|
|
||||||
|
# A file that can be used to check if apk has assets
|
||||||
|
echo "has_assets" > assets/has_assets.txt
|
||||||
|
|
||||||
|
|
||||||
# It will be probably ignored by ant, but create it anyway...
|
# It will be probably ignored by ant, but create it anyway...
|
||||||
touch assets/.nomedia
|
touch assets/.nomedia
|
||||||
|
|||||||
BIN
android/gradle/wrapper/gradle-wrapper.jar
vendored
Normal file
6
android/gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#Mon Oct 23 13:51:26 PDT 2017
|
||||||
|
distributionBase=GRADLE_USER_HOME
|
||||||
|
distributionPath=wrapper/dists
|
||||||
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
zipStorePath=wrapper/dists
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-all.zip
|
||||||
160
android/gradlew
vendored
Executable file
@@ -0,0 +1,160 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
##
|
||||||
|
## Gradle start up script for UN*X
|
||||||
|
##
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
|
DEFAULT_JVM_OPTS=""
|
||||||
|
|
||||||
|
APP_NAME="Gradle"
|
||||||
|
APP_BASE_NAME=`basename "$0"`
|
||||||
|
|
||||||
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||||
|
MAX_FD="maximum"
|
||||||
|
|
||||||
|
warn ( ) {
|
||||||
|
echo "$*"
|
||||||
|
}
|
||||||
|
|
||||||
|
die ( ) {
|
||||||
|
echo
|
||||||
|
echo "$*"
|
||||||
|
echo
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# OS specific support (must be 'true' or 'false').
|
||||||
|
cygwin=false
|
||||||
|
msys=false
|
||||||
|
darwin=false
|
||||||
|
case "`uname`" in
|
||||||
|
CYGWIN* )
|
||||||
|
cygwin=true
|
||||||
|
;;
|
||||||
|
Darwin* )
|
||||||
|
darwin=true
|
||||||
|
;;
|
||||||
|
MINGW* )
|
||||||
|
msys=true
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Attempt to set APP_HOME
|
||||||
|
# Resolve links: $0 may be a link
|
||||||
|
PRG="$0"
|
||||||
|
# Need this for relative symlinks.
|
||||||
|
while [ -h "$PRG" ] ; do
|
||||||
|
ls=`ls -ld "$PRG"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '/.*' > /dev/null; then
|
||||||
|
PRG="$link"
|
||||||
|
else
|
||||||
|
PRG=`dirname "$PRG"`"/$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
SAVED="`pwd`"
|
||||||
|
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||||
|
APP_HOME="`pwd -P`"
|
||||||
|
cd "$SAVED" >/dev/null
|
||||||
|
|
||||||
|
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||||
|
|
||||||
|
# Determine the Java command to use to start the JVM.
|
||||||
|
if [ -n "$JAVA_HOME" ] ; then
|
||||||
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||||
|
# IBM's JDK on AIX uses strange locations for the executables
|
||||||
|
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||||
|
else
|
||||||
|
JAVACMD="$JAVA_HOME/bin/java"
|
||||||
|
fi
|
||||||
|
if [ ! -x "$JAVACMD" ] ; then
|
||||||
|
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||||
|
|
||||||
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
location of your Java installation."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
JAVACMD="java"
|
||||||
|
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
|
|
||||||
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
location of your Java installation."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Increase the maximum file descriptors if we can.
|
||||||
|
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
|
||||||
|
MAX_FD_LIMIT=`ulimit -H -n`
|
||||||
|
if [ $? -eq 0 ] ; then
|
||||||
|
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||||
|
MAX_FD="$MAX_FD_LIMIT"
|
||||||
|
fi
|
||||||
|
ulimit -n $MAX_FD
|
||||||
|
if [ $? -ne 0 ] ; then
|
||||||
|
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For Darwin, add options to specify how the application appears in the dock
|
||||||
|
if $darwin; then
|
||||||
|
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For Cygwin, switch paths to Windows format before running java
|
||||||
|
if $cygwin ; then
|
||||||
|
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||||
|
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||||
|
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||||
|
|
||||||
|
# We build the pattern for arguments to be converted via cygpath
|
||||||
|
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||||
|
SEP=""
|
||||||
|
for dir in $ROOTDIRSRAW ; do
|
||||||
|
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||||
|
SEP="|"
|
||||||
|
done
|
||||||
|
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||||
|
# Add a user-defined pattern to the cygpath arguments
|
||||||
|
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||||
|
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||||
|
fi
|
||||||
|
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||||
|
i=0
|
||||||
|
for arg in "$@" ; do
|
||||||
|
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||||
|
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||||
|
|
||||||
|
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||||
|
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||||
|
else
|
||||||
|
eval `echo args$i`="\"$arg\""
|
||||||
|
fi
|
||||||
|
i=$((i+1))
|
||||||
|
done
|
||||||
|
case $i in
|
||||||
|
(0) set -- ;;
|
||||||
|
(1) set -- "$args0" ;;
|
||||||
|
(2) set -- "$args0" "$args1" ;;
|
||||||
|
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||||
|
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||||
|
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||||
|
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||||
|
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||||
|
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||||
|
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
|
||||||
|
function splitJvmOpts() {
|
||||||
|
JVM_OPTS=("$@")
|
||||||
|
}
|
||||||
|
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
|
||||||
|
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
|
||||||
|
|
||||||
|
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
|
||||||
BIN
android/icon_adaptive_fg-dbg.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
android/icon_adaptive_fg.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
193
android/make.sh
@@ -23,47 +23,56 @@ export ARCH_ARMV7=arm
|
|||||||
export HOST_ARMV7=arm-linux-androideabi
|
export HOST_ARMV7=arm-linux-androideabi
|
||||||
export NDK_PLATFORM_ARMV7=android-19
|
export NDK_PLATFORM_ARMV7=android-19
|
||||||
export MIN_SDK_VERSION_ARMV7=19
|
export MIN_SDK_VERSION_ARMV7=19
|
||||||
export TARGET_SDK_VERSION_ARMV7=26
|
export TARGET_SDK_VERSION_ARMV7=29
|
||||||
export COMPILE_SDK_VERSION_ARMV7=26
|
export COMPILE_SDK_VERSION_ARMV7=29
|
||||||
|
|
||||||
export NDK_ABI_AARCH64=arm64-v8a
|
export NDK_ABI_AARCH64=arm64-v8a
|
||||||
export ARCH_AARCH64=arm64
|
export ARCH_AARCH64=arm64
|
||||||
export HOST_AARCH64=aarch64-linux-android
|
export HOST_AARCH64=aarch64-linux-android
|
||||||
export NDK_PLATFORM_AARCH64=android-21
|
export NDK_PLATFORM_AARCH64=android-21
|
||||||
export MIN_SDK_VERSION_AARCH64=21
|
export MIN_SDK_VERSION_AARCH64=21
|
||||||
export TARGET_SDK_VERSION_AARCH64=26
|
export TARGET_SDK_VERSION_AARCH64=29
|
||||||
export COMPILE_SDK_VERSION_AARCH64=26
|
export COMPILE_SDK_VERSION_AARCH64=29
|
||||||
|
|
||||||
export NDK_ABI_X86=x86
|
export NDK_ABI_X86=x86
|
||||||
export ARCH_X86=x86
|
export ARCH_X86=x86
|
||||||
export HOST_X86=i686-linux-android
|
export HOST_X86=i686-linux-android
|
||||||
export NDK_PLATFORM_X86=android-19
|
export NDK_PLATFORM_X86=android-19
|
||||||
export MIN_SDK_VERSION_X86=19
|
export MIN_SDK_VERSION_X86=19
|
||||||
export TARGET_SDK_VERSION_X86=26
|
export TARGET_SDK_VERSION_X86=29
|
||||||
export COMPILE_SDK_VERSION_X86=26
|
export COMPILE_SDK_VERSION_X86=29
|
||||||
|
|
||||||
export NDK_ABI_X86_64=x86_64
|
export NDK_ABI_X86_64=x86_64
|
||||||
export ARCH_X86_64=x86_64
|
export ARCH_X86_64=x86_64
|
||||||
export HOST_X86_64=x86_64-linux-android
|
export HOST_X86_64=x86_64-linux-android
|
||||||
export NDK_PLATFORM_X86_64=android-21
|
export NDK_PLATFORM_X86_64=android-21
|
||||||
export MIN_SDK_VERSION_X86_64=21
|
export MIN_SDK_VERSION_X86_64=21
|
||||||
export TARGET_SDK_VERSION_X86_64=26
|
export TARGET_SDK_VERSION_X86_64=29
|
||||||
export COMPILE_SDK_VERSION_X86_64=26
|
export COMPILE_SDK_VERSION_X86_64=29
|
||||||
|
|
||||||
export APP_NAME_RELEASE="SuperTuxKart"
|
export APP_NAME_RELEASE="SuperTuxKart"
|
||||||
export PACKAGE_NAME_RELEASE="org.supertuxkart.stk"
|
export PACKAGE_NAME_RELEASE="org.supertuxkart.stk"
|
||||||
|
export PACKAGE_CALLBACK_NAME_RELEASE="org_supertuxkart_stk"
|
||||||
export APP_DIR_NAME_RELEASE="supertuxkart"
|
export APP_DIR_NAME_RELEASE="supertuxkart"
|
||||||
export APP_ICON_RELEASE="$DIRNAME/icon.png"
|
export APP_ICON_RELEASE="$DIRNAME/icon.png"
|
||||||
|
export APP_ICON_ADAPTIVE_BG_RELEASE="$DIRNAME/icon_adaptive_bg.png"
|
||||||
|
export APP_ICON_ADAPTIVE_FG_RELEASE="$DIRNAME/icon_adaptive_fg.png"
|
||||||
|
|
||||||
export APP_NAME_BETA="SuperTuxKart Beta"
|
export APP_NAME_BETA="SuperTuxKart Beta"
|
||||||
export PACKAGE_NAME_BETA="org.supertuxkart.stk_beta"
|
export PACKAGE_NAME_BETA="org.supertuxkart.stk_beta"
|
||||||
|
export PACKAGE_CALLBACK_NAME_BETA="org_supertuxkart_stk_1beta"
|
||||||
export APP_DIR_NAME_BETA="supertuxkart-beta"
|
export APP_DIR_NAME_BETA="supertuxkart-beta"
|
||||||
export APP_ICON_BETA="$DIRNAME/icon-dbg.png"
|
export APP_ICON_BETA="$DIRNAME/icon-dbg.png"
|
||||||
|
export APP_ICON_ADAPTIVE_BG_BETA="$DIRNAME/icon_adaptive_bg-dbg.png"
|
||||||
|
export APP_ICON_ADAPTIVE_FG_BETA="$DIRNAME/icon_adaptive_fg-dbg.png"
|
||||||
|
|
||||||
export APP_NAME_DEBUG="SuperTuxKart Debug"
|
export APP_NAME_DEBUG="SuperTuxKart Debug"
|
||||||
export PACKAGE_NAME_DEBUG="org.supertuxkart.stk_dbg"
|
export PACKAGE_NAME_DEBUG="org.supertuxkart.stk_dbg"
|
||||||
|
export PACKAGE_CALLBACK_NAME_DEBUG="org_supertuxkart_stk_1dbg"
|
||||||
export APP_DIR_NAME_DEBUG="supertuxkart-dbg"
|
export APP_DIR_NAME_DEBUG="supertuxkart-dbg"
|
||||||
export APP_ICON_DEBUG="$DIRNAME/icon-dbg.png"
|
export APP_ICON_DEBUG="$DIRNAME/icon-dbg.png"
|
||||||
|
export APP_ICON_ADAPTIVE_BG_DEBUG="$DIRNAME/icon_adaptive_bg-dbg.png"
|
||||||
|
export APP_ICON_ADAPTIVE_FG_DEBUG="$DIRNAME/icon_adaptive_fg-dbg.png"
|
||||||
|
|
||||||
|
|
||||||
# A helper function that checks if error ocurred
|
# A helper function that checks if error ocurred
|
||||||
@@ -149,46 +158,41 @@ if [ -z "$BUILD_TYPE" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$BUILD_TYPE" = "debug" ] || [ "$BUILD_TYPE" = "Debug" ]; then
|
if [ "$BUILD_TYPE" = "debug" ] || [ "$BUILD_TYPE" = "Debug" ]; then
|
||||||
export ANT_BUILD_TYPE="debug"
|
|
||||||
export GRADLE_BUILD_TYPE="assembleDebug"
|
export GRADLE_BUILD_TYPE="assembleDebug"
|
||||||
export IS_DEBUG_BUILD=1
|
export IS_DEBUG_BUILD=1
|
||||||
export APP_NAME="$APP_NAME_DEBUG"
|
export APP_NAME="$APP_NAME_DEBUG"
|
||||||
export PACKAGE_NAME="$PACKAGE_NAME_DEBUG"
|
export PACKAGE_NAME="$PACKAGE_NAME_DEBUG"
|
||||||
|
export PACKAGE_CALLBACK_NAME="$PACKAGE_CALLBACK_NAME_DEBUG"
|
||||||
export APP_DIR_NAME="$APP_DIR_NAME_DEBUG"
|
export APP_DIR_NAME="$APP_DIR_NAME_DEBUG"
|
||||||
export APP_ICON="$APP_ICON_DEBUG"
|
export APP_ICON="$APP_ICON_DEBUG"
|
||||||
|
export APP_ICON_ADAPTIVE_BG="$APP_ICON_ADAPTIVE_BG_DEBUG"
|
||||||
|
export APP_ICON_ADAPTIVE_FG="$APP_ICON_ADAPTIVE_FG_DEBUG"
|
||||||
elif [ "$BUILD_TYPE" = "release" ] || [ "$BUILD_TYPE" = "Release" ]; then
|
elif [ "$BUILD_TYPE" = "release" ] || [ "$BUILD_TYPE" = "Release" ]; then
|
||||||
export ANT_BUILD_TYPE="release"
|
|
||||||
export GRADLE_BUILD_TYPE="assembleRelease"
|
export GRADLE_BUILD_TYPE="assembleRelease"
|
||||||
export IS_DEBUG_BUILD=0
|
export IS_DEBUG_BUILD=0
|
||||||
export APP_NAME="$APP_NAME_RELEASE"
|
export APP_NAME="$APP_NAME_RELEASE"
|
||||||
export PACKAGE_NAME="$PACKAGE_NAME_RELEASE"
|
export PACKAGE_NAME="$PACKAGE_NAME_RELEASE"
|
||||||
|
export PACKAGE_CALLBACK_NAME="$PACKAGE_CALLBACK_NAME_RELEASE"
|
||||||
export APP_DIR_NAME="$APP_DIR_NAME_RELEASE"
|
export APP_DIR_NAME="$APP_DIR_NAME_RELEASE"
|
||||||
export APP_ICON="$APP_ICON_RELEASE"
|
export APP_ICON="$APP_ICON_RELEASE"
|
||||||
|
export APP_ICON_ADAPTIVE_BG="$APP_ICON_ADAPTIVE_BG_RELEASE"
|
||||||
|
export APP_ICON_ADAPTIVE_FG="$APP_ICON_ADAPTIVE_FG_RELEASE"
|
||||||
elif [ "$BUILD_TYPE" = "beta" ] || [ "$BUILD_TYPE" = "Beta" ]; then
|
elif [ "$BUILD_TYPE" = "beta" ] || [ "$BUILD_TYPE" = "Beta" ]; then
|
||||||
export ANT_BUILD_TYPE="release"
|
|
||||||
export GRADLE_BUILD_TYPE="assembleRelease"
|
export GRADLE_BUILD_TYPE="assembleRelease"
|
||||||
export IS_DEBUG_BUILD=0
|
export IS_DEBUG_BUILD=0
|
||||||
export APP_NAME="$APP_NAME_BETA"
|
export APP_NAME="$APP_NAME_BETA"
|
||||||
export PACKAGE_NAME="$PACKAGE_NAME_BETA"
|
export PACKAGE_NAME="$PACKAGE_NAME_BETA"
|
||||||
|
export PACKAGE_CALLBACK_NAME="$PACKAGE_CALLBACK_NAME_BETA"
|
||||||
export APP_DIR_NAME="$APP_DIR_NAME_BETA"
|
export APP_DIR_NAME="$APP_DIR_NAME_BETA"
|
||||||
export APP_ICON="$APP_ICON_BETA"
|
export APP_ICON="$APP_ICON_BETA"
|
||||||
|
export APP_ICON_ADAPTIVE_BG="$APP_ICON_ADAPTIVE_BG_BETA"
|
||||||
|
export APP_ICON_ADAPTIVE_FG="$APP_ICON_ADAPTIVE_FG_BETA"
|
||||||
else
|
else
|
||||||
echo "Unsupported BUILD_TYPE: $BUILD_TYPE. Possible values are: " \
|
echo "Unsupported BUILD_TYPE: $BUILD_TYPE. Possible values are: " \
|
||||||
"debug, release"
|
"debug, release"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check selected build tool
|
|
||||||
if [ -z "$BUILD_TOOL" ]; then
|
|
||||||
BUILD_TOOL="gradle"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$BUILD_TOOL" != "gradle" ] && [ "$BUILD_TOOL" != "ant" ]; then
|
|
||||||
echo "Unsupported BUILD_TOOL: $BUILD_TOOL. Possible values are: " \
|
|
||||||
"gradle, ant"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if we have access to the Android NDK and SDK
|
# Check if we have access to the Android NDK and SDK
|
||||||
if [ -z "$NDK_PATH" ]; then
|
if [ -z "$NDK_PATH" ]; then
|
||||||
export NDK_PATH="$NDK_PATH_DEFAULT"
|
export NDK_PATH="$NDK_PATH_DEFAULT"
|
||||||
@@ -286,22 +290,6 @@ fi
|
|||||||
|
|
||||||
echo "$PROJECT_VERSION" > "$DIRNAME/obj/project_version"
|
echo "$PROJECT_VERSION" > "$DIRNAME/obj/project_version"
|
||||||
|
|
||||||
# Freetype
|
|
||||||
if [ ! -f "$DIRNAME/obj/freetype.stamp" ]; then
|
|
||||||
echo "Compiling freetype"
|
|
||||||
mkdir -p "$DIRNAME/obj/freetype"
|
|
||||||
cp -a -f "$DIRNAME/../lib/freetype/"* "$DIRNAME/obj/freetype"
|
|
||||||
|
|
||||||
cd "$DIRNAME/obj/freetype"
|
|
||||||
./configure --host=$HOST \
|
|
||||||
--without-zlib \
|
|
||||||
--without-png \
|
|
||||||
--without-harfbuzz &&
|
|
||||||
make $@
|
|
||||||
check_error
|
|
||||||
touch "$DIRNAME/obj/freetype.stamp"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Zlib
|
# Zlib
|
||||||
if [ ! -f "$DIRNAME/obj/zlib.stamp" ]; then
|
if [ ! -f "$DIRNAME/obj/zlib.stamp" ]; then
|
||||||
echo "Compiling zlib"
|
echo "Compiling zlib"
|
||||||
@@ -334,6 +322,73 @@ if [ ! -f "$DIRNAME/obj/libpng.stamp" ]; then
|
|||||||
touch "$DIRNAME/obj/libpng.stamp"
|
touch "$DIRNAME/obj/libpng.stamp"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Fribidi
|
||||||
|
if [ ! -f "$DIRNAME/obj/fribidi.stamp" ]; then
|
||||||
|
echo "Compiling fribidi"
|
||||||
|
mkdir -p "$DIRNAME/obj/fribidi"
|
||||||
|
cp -a -f "$DIRNAME/../lib/fribidi/"* "$DIRNAME/obj/fribidi"
|
||||||
|
|
||||||
|
cd "$DIRNAME/obj/fribidi"
|
||||||
|
./configure --host=$HOST --enable-static=yes &&
|
||||||
|
make $@
|
||||||
|
check_error
|
||||||
|
mkdir -p "$DIRNAME/obj/fribidi/include/fribidi"
|
||||||
|
cp $DIRNAME/obj/fribidi/lib/*.h "$DIRNAME/obj/fribidi/include/fribidi"
|
||||||
|
touch "$DIRNAME/obj/fribidi.stamp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Freetype bootstrap
|
||||||
|
if [ ! -f "$DIRNAME/obj/freetype_bootstrap.stamp" ]; then
|
||||||
|
echo "Compiling freetype"
|
||||||
|
mkdir -p "$DIRNAME/obj/freetype"
|
||||||
|
cp -a -f "$DIRNAME/../lib/freetype/"* "$DIRNAME/obj/freetype"
|
||||||
|
|
||||||
|
cd "$DIRNAME/obj/freetype"
|
||||||
|
ZLIB_CFLAGS="-I$DIRNAME/obj/zlib/" ZLIB_LIBS="$DIRNAME/obj/zlib/libz.a"\
|
||||||
|
LIBPNG_CFLAGS="-I$DIRNAME/obj/libpng/" LIBPNG_LIBS="$DIRNAME/obj/libpng/libpng.a"\
|
||||||
|
./configure --host=$HOST --enable-shared=no \
|
||||||
|
--without-harfbuzz &&
|
||||||
|
make $@
|
||||||
|
check_error
|
||||||
|
# We need to rebuild freetype after harfbuzz is compiled
|
||||||
|
touch "$DIRNAME/obj/freetype_bootstrap.stamp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Harfbuzz
|
||||||
|
if [ ! -f "$DIRNAME/obj/harfbuzz.stamp" ]; then
|
||||||
|
echo "Compiling harfbuzz"
|
||||||
|
mkdir -p "$DIRNAME/obj/harfbuzz"
|
||||||
|
cp -a -f "$DIRNAME/../lib/harfbuzz/"* "$DIRNAME/obj/harfbuzz"
|
||||||
|
|
||||||
|
cd "$DIRNAME/obj/harfbuzz"
|
||||||
|
FREETYPE_CFLAGS="-I$DIRNAME/obj/freetype/include" \
|
||||||
|
FREETYPE_LIBS="$DIRNAME/obj/freetype/objs/.libs/libfreetype.a $DIRNAME/obj/libpng/libpng.a $DIRNAME/obj/zlib/libz.a"\
|
||||||
|
./configure --host=$HOST --enable-shared=no \
|
||||||
|
--with-glib=no --with-gobject=no --with-cairo=no \
|
||||||
|
--with-fontconfig=no --with-icu=no --with-graphite2=no &&
|
||||||
|
make $@
|
||||||
|
check_error
|
||||||
|
mkdir -p "$DIRNAME/obj/harfbuzz/include/harfbuzz"
|
||||||
|
cp $DIRNAME/obj/harfbuzz/src/*.h "$DIRNAME/obj/harfbuzz/include/harfbuzz"
|
||||||
|
touch "$DIRNAME/obj/harfbuzz.stamp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Freetype
|
||||||
|
if [ ! -f "$DIRNAME/obj/freetype.stamp" ]; then
|
||||||
|
echo "Compiling freetype"
|
||||||
|
mkdir -p "$DIRNAME/obj/freetype"
|
||||||
|
cp -a -f "$DIRNAME/../lib/freetype/"* "$DIRNAME/obj/freetype"
|
||||||
|
|
||||||
|
cd "$DIRNAME/obj/freetype"
|
||||||
|
ZLIB_CFLAGS="-I$DIRNAME/obj/zlib/" ZLIB_LIBS="$DIRNAME/obj/zlib/libz.a" \
|
||||||
|
LIBPNG_CFLAGS="-I$DIRNAME/obj/libpng/" LIBPNG_LIBS="$DIRNAME/obj/libpng/libpng.a" \
|
||||||
|
HARFBUZZ_CFLAGS="-I$DIRNAME/obj/harfbuzz/src/" HARFBUZZ_LIBS="$DIRNAME/obj/harfbuzz/src/.libs/libharfbuzz.a" \
|
||||||
|
./configure --host=$HOST --enable-shared=no
|
||||||
|
make $@
|
||||||
|
check_error
|
||||||
|
touch "$DIRNAME/obj/freetype.stamp"
|
||||||
|
fi
|
||||||
|
|
||||||
# Openal
|
# Openal
|
||||||
if [ ! -f "$DIRNAME/obj/openal.stamp" ]; then
|
if [ ! -f "$DIRNAME/obj/openal.stamp" ]; then
|
||||||
echo "Compiling openal"
|
echo "Compiling openal"
|
||||||
@@ -443,10 +498,12 @@ check_error
|
|||||||
echo "Building APK"
|
echo "Building APK"
|
||||||
|
|
||||||
mkdir -p "$DIRNAME/res/drawable/"
|
mkdir -p "$DIRNAME/res/drawable/"
|
||||||
mkdir -p "$DIRNAME/res/drawable-hdpi/"
|
mkdir -p "$DIRNAME/res/drawable-anydpi-v26/"
|
||||||
mkdir -p "$DIRNAME/res/drawable-mdpi/"
|
mkdir -p "$DIRNAME/res/drawable-mdpi/"
|
||||||
|
mkdir -p "$DIRNAME/res/drawable-hdpi/"
|
||||||
mkdir -p "$DIRNAME/res/drawable-xhdpi/"
|
mkdir -p "$DIRNAME/res/drawable-xhdpi/"
|
||||||
mkdir -p "$DIRNAME/res/drawable-xxhdpi/"
|
mkdir -p "$DIRNAME/res/drawable-xxhdpi/"
|
||||||
|
mkdir -p "$DIRNAME/res/drawable-xxxhdpi/"
|
||||||
mkdir -p "$DIRNAME/res/values/"
|
mkdir -p "$DIRNAME/res/values/"
|
||||||
|
|
||||||
STRINGS_FILE="$DIRNAME/res/values/strings.xml"
|
STRINGS_FILE="$DIRNAME/res/values/strings.xml"
|
||||||
@@ -456,6 +513,15 @@ echo "<resources>" >> "$STRINGS_FILE"
|
|||||||
echo " <string name=\"app_name\">$APP_NAME</string>" >> "$STRINGS_FILE"
|
echo " <string name=\"app_name\">$APP_NAME</string>" >> "$STRINGS_FILE"
|
||||||
echo "</resources>" >> "$STRINGS_FILE"
|
echo "</resources>" >> "$STRINGS_FILE"
|
||||||
|
|
||||||
|
ADAPTIVE_ICON_FILE="$DIRNAME/res/drawable-anydpi-v26/icon.xml"
|
||||||
|
|
||||||
|
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>" > "$ADAPTIVE_ICON_FILE"
|
||||||
|
echo "<adaptive-icon" >> "$ADAPTIVE_ICON_FILE"
|
||||||
|
echo " xmlns:android=\"http://schemas.android.com/apk/res/android\">" >> "$ADAPTIVE_ICON_FILE"
|
||||||
|
echo " <background android:drawable=\"@drawable/icon_bg\" />" >> "$ADAPTIVE_ICON_FILE"
|
||||||
|
echo " <foreground android:drawable=\"@drawable/icon_fg\" />" >> "$ADAPTIVE_ICON_FILE"
|
||||||
|
echo "</adaptive-icon>" >> "$ADAPTIVE_ICON_FILE"
|
||||||
|
|
||||||
sed -i "s/minSdkVersion=\".*\"/minSdkVersion=\"$MIN_SDK_VERSION\"/g" \
|
sed -i "s/minSdkVersion=\".*\"/minSdkVersion=\"$MIN_SDK_VERSION\"/g" \
|
||||||
"$DIRNAME/AndroidManifest.xml"
|
"$DIRNAME/AndroidManifest.xml"
|
||||||
|
|
||||||
@@ -465,6 +531,24 @@ sed -i "s/targetSdkVersion=\".*\"/targetSdkVersion=\"$TARGET_SDK_VERSION\"/g" \
|
|||||||
sed -i "s/package=\".*\"/package=\"$PACKAGE_NAME\"/g" \
|
sed -i "s/package=\".*\"/package=\"$PACKAGE_NAME\"/g" \
|
||||||
"$DIRNAME/AndroidManifest.xml"
|
"$DIRNAME/AndroidManifest.xml"
|
||||||
|
|
||||||
|
sed -i "s/package org.supertuxkart.*/package $PACKAGE_NAME;/g" \
|
||||||
|
"$DIRNAME/src/main/java/STKEditText.java"
|
||||||
|
|
||||||
|
sed -i "s/import org.supertuxkart.*/import $PACKAGE_NAME.STKInputConnection;/g" \
|
||||||
|
"$DIRNAME/src/main/java/STKEditText.java"
|
||||||
|
|
||||||
|
sed -i "s/package org.supertuxkart.*/package $PACKAGE_NAME;/g" \
|
||||||
|
"$DIRNAME/src/main/java/STKInputConnection.java"
|
||||||
|
|
||||||
|
sed -i "s/import org.supertuxkart.*.STKEditText;/import $PACKAGE_NAME.STKEditText;/g" \
|
||||||
|
"$DIRNAME/src/main/java/STKInputConnection.java"
|
||||||
|
|
||||||
|
sed -i "s/package org.supertuxkart.*/package $PACKAGE_NAME;/g" \
|
||||||
|
"$DIRNAME/src/main/java/SuperTuxKartActivity.java"
|
||||||
|
|
||||||
|
sed -i "s/import org.supertuxkart.*/import $PACKAGE_NAME.STKEditText;/g" \
|
||||||
|
"$DIRNAME/src/main/java/SuperTuxKartActivity.java"
|
||||||
|
|
||||||
sed -i "s/versionName=\".*\"/versionName=\"$PROJECT_VERSION\"/g" \
|
sed -i "s/versionName=\".*\"/versionName=\"$PROJECT_VERSION\"/g" \
|
||||||
"$DIRNAME/AndroidManifest.xml"
|
"$DIRNAME/AndroidManifest.xml"
|
||||||
|
|
||||||
@@ -473,25 +557,38 @@ sed -i "s/versionCode=\".*\"/versionCode=\"$PROJECT_CODE\"/g" \
|
|||||||
|
|
||||||
cp "banner.png" "$DIRNAME/res/drawable/banner.png"
|
cp "banner.png" "$DIRNAME/res/drawable/banner.png"
|
||||||
cp "$APP_ICON" "$DIRNAME/res/drawable/icon.png"
|
cp "$APP_ICON" "$DIRNAME/res/drawable/icon.png"
|
||||||
convert -scale 72x72 "$APP_ICON" "$DIRNAME/res/drawable-hdpi/icon.png"
|
|
||||||
convert -scale 48x48 "$APP_ICON" "$DIRNAME/res/drawable-mdpi/icon.png"
|
convert -scale 48x48 "$APP_ICON" "$DIRNAME/res/drawable-mdpi/icon.png"
|
||||||
|
convert -scale 72x72 "$APP_ICON" "$DIRNAME/res/drawable-hdpi/icon.png"
|
||||||
convert -scale 96x96 "$APP_ICON" "$DIRNAME/res/drawable-xhdpi/icon.png"
|
convert -scale 96x96 "$APP_ICON" "$DIRNAME/res/drawable-xhdpi/icon.png"
|
||||||
convert -scale 144x144 "$APP_ICON" "$DIRNAME/res/drawable-xxhdpi/icon.png"
|
convert -scale 144x144 "$APP_ICON" "$DIRNAME/res/drawable-xxhdpi/icon.png"
|
||||||
|
convert -scale 192x192 "$APP_ICON" "$DIRNAME/res/drawable-xxxhdpi/icon.png"
|
||||||
|
|
||||||
|
#convert -scale 108x108 "$APP_ICON_ADAPTIVE_BG" "$DIRNAME/res/drawable-mdpi/icon_bg.png"
|
||||||
|
#convert -scale 162x162 "$APP_ICON_ADAPTIVE_BG" "$DIRNAME/res/drawable-hdpi/icon_bg.png"
|
||||||
|
#convert -scale 216x216 "$APP_ICON_ADAPTIVE_BG" "$DIRNAME/res/drawable-xhdpi/icon_bg.png"
|
||||||
|
#convert -scale 324x324 "$APP_ICON_ADAPTIVE_BG" "$DIRNAME/res/drawable-xxhdpi/icon_bg.png"
|
||||||
|
#convert -scale 432x432 "$APP_ICON_ADAPTIVE_BG" "$DIRNAME/res/drawable-xxxhdpi/icon_bg.png"
|
||||||
|
|
||||||
|
convert -scale 108x108 xc:"rgba(255,255,255,255)" "$DIRNAME/res/drawable-mdpi/icon_bg.png"
|
||||||
|
convert -scale 162x162 xc:"rgba(255,255,255,255)" "$DIRNAME/res/drawable-hdpi/icon_bg.png"
|
||||||
|
convert -scale 216x216 xc:"rgba(255,255,255,255)" "$DIRNAME/res/drawable-xhdpi/icon_bg.png"
|
||||||
|
convert -scale 324x324 xc:"rgba(255,255,255,255)" "$DIRNAME/res/drawable-xxhdpi/icon_bg.png"
|
||||||
|
convert -scale 432x432 xc:"rgba(255,255,255,255)" "$DIRNAME/res/drawable-xxxhdpi/icon_bg.png"
|
||||||
|
|
||||||
|
convert -scale 108x108 "$APP_ICON_ADAPTIVE_FG" "$DIRNAME/res/drawable-mdpi/icon_fg.png"
|
||||||
|
convert -scale 162x162 "$APP_ICON_ADAPTIVE_FG" "$DIRNAME/res/drawable-hdpi/icon_fg.png"
|
||||||
|
convert -scale 216x216 "$APP_ICON_ADAPTIVE_FG" "$DIRNAME/res/drawable-xhdpi/icon_fg.png"
|
||||||
|
convert -scale 324x324 "$APP_ICON_ADAPTIVE_FG" "$DIRNAME/res/drawable-xxhdpi/icon_fg.png"
|
||||||
|
convert -scale 432x432 "$APP_ICON_ADAPTIVE_FG" "$DIRNAME/res/drawable-xxxhdpi/icon_fg.png"
|
||||||
|
|
||||||
if [ -f "/usr/lib/jvm/java-8-openjdk-amd64/bin/java" ]; then
|
if [ -f "/usr/lib/jvm/java-8-openjdk-amd64/bin/java" ]; then
|
||||||
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
|
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
|
||||||
export PATH=$JAVA_HOME/bin:$PATH
|
export PATH=$JAVA_HOME/bin:$PATH
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$BUILD_TOOL" = "gradle" ]; then
|
export ANDROID_HOME="$SDK_PATH"
|
||||||
export ANDROID_HOME="$SDK_PATH"
|
./gradlew -Pcompile_sdk_version=$COMPILE_SDK_VERSION \
|
||||||
gradle -Pcompile_sdk_version=$COMPILE_SDK_VERSION \
|
|
||||||
-Pbuild_tools_ver="$BUILD_TOOLS_VER" \
|
-Pbuild_tools_ver="$BUILD_TOOLS_VER" \
|
||||||
$GRADLE_BUILD_TYPE
|
$GRADLE_BUILD_TYPE
|
||||||
elif [ "$BUILD_TOOL" = "ant" ]; then
|
|
||||||
ant -Dsdk.dir="$SDK_PATH" \
|
|
||||||
-Dtarget="android-$TARGET_SDK_VERSION" \
|
|
||||||
$ANT_BUILD_TYPE
|
|
||||||
fi
|
|
||||||
|
|
||||||
check_error
|
check_error
|
||||||
|
|||||||
238
android/src/main/java/STKEditText.java
Normal file
@@ -0,0 +1,238 @@
|
|||||||
|
package org.supertuxkart.stk_dbg;
|
||||||
|
|
||||||
|
import org.supertuxkart.stk_dbg.STKInputConnection;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.text.InputType;
|
||||||
|
import android.view.inputmethod.EditorInfo;
|
||||||
|
import android.view.inputmethod.InputConnection;
|
||||||
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
import android.view.KeyEvent;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
// We need to extend EditText instead of view to allow copying to our STK
|
||||||
|
// editbox
|
||||||
|
public class STKEditText extends EditText
|
||||||
|
{
|
||||||
|
private int m_composing_start;
|
||||||
|
|
||||||
|
private int m_composing_end;
|
||||||
|
|
||||||
|
/* Used to prevent copying text to non focused widget in STK. */
|
||||||
|
private int m_stk_widget_id;
|
||||||
|
|
||||||
|
private STKInputConnection m_stk_input_connection;
|
||||||
|
|
||||||
|
/* Used to avoid infinite calling updateSTKEditBox if setText currently
|
||||||
|
* by jni or clearing text when out focus. */
|
||||||
|
private boolean m_from_stk_editbox;
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
private native static void editText2STKEditbox(int widget_id,
|
||||||
|
String full_text, int start,
|
||||||
|
int end,
|
||||||
|
int composing_start,
|
||||||
|
int composing_end);
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
private native static void handleActionNext(int widget_id);
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
public STKEditText(Context context)
|
||||||
|
{
|
||||||
|
super(context);
|
||||||
|
setInputType(InputType.TYPE_CLASS_TEXT);
|
||||||
|
setFocusableInTouchMode(true);
|
||||||
|
m_composing_start = 0;
|
||||||
|
m_composing_end = 0;
|
||||||
|
m_stk_widget_id = -1;
|
||||||
|
m_from_stk_editbox = false;
|
||||||
|
m_stk_input_connection = null;
|
||||||
|
setOnEditorActionListener(new EditText.OnEditorActionListener()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean onEditorAction(TextView v, int action_id,
|
||||||
|
KeyEvent event)
|
||||||
|
{
|
||||||
|
if (action_id == EditorInfo.IME_ACTION_NEXT)
|
||||||
|
{
|
||||||
|
handleActionNext(m_stk_widget_id);
|
||||||
|
// STK will handle the closing of the screen keyboard
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public InputConnection onCreateInputConnection(EditorInfo out_attrs)
|
||||||
|
{
|
||||||
|
if (m_stk_input_connection == null)
|
||||||
|
{
|
||||||
|
m_stk_input_connection = new STKInputConnection(
|
||||||
|
super.onCreateInputConnection(out_attrs), this);
|
||||||
|
}
|
||||||
|
out_attrs.actionLabel = null;
|
||||||
|
out_attrs.inputType = getInputType();
|
||||||
|
out_attrs.imeOptions = EditorInfo.IME_ACTION_NEXT |
|
||||||
|
EditorInfo.IME_FLAG_NO_FULLSCREEN |
|
||||||
|
EditorInfo.IME_FLAG_NO_EXTRACT_UI;
|
||||||
|
return m_stk_input_connection;
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public boolean onCheckIsTextEditor() { return true; }
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public boolean onKeyPreIme(int key_code, KeyEvent event)
|
||||||
|
{
|
||||||
|
// Always remove the focus on STKEdit when pressing back button in
|
||||||
|
// phone, which hideSoftInputFromWindow is called by java itself
|
||||||
|
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK)
|
||||||
|
beforeHideKeyboard(false/*clear_text*/);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
public void setComposingRegion(int start, int end)
|
||||||
|
{
|
||||||
|
// From doc of InputConnectionWrapper, it says:
|
||||||
|
// Editor authors, be ready to accept a start that is greater than end.
|
||||||
|
if (start != end && start > end)
|
||||||
|
{
|
||||||
|
m_composing_end = start;
|
||||||
|
m_composing_start = end;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_composing_start = start;
|
||||||
|
m_composing_end = end;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
public void updateSTKEditBox()
|
||||||
|
{
|
||||||
|
if (!isFocused() || m_from_stk_editbox)
|
||||||
|
return;
|
||||||
|
editText2STKEditbox(m_stk_widget_id, getText().toString(),
|
||||||
|
getSelectionStart(), getSelectionEnd(), m_composing_start,
|
||||||
|
m_composing_end);
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
public void beforeHideKeyboard(final boolean clear_text)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (clear_text)
|
||||||
|
{
|
||||||
|
// No need updating stk editbox on clearing text when out focus
|
||||||
|
m_from_stk_editbox = true;
|
||||||
|
{
|
||||||
|
super.clearComposingText();
|
||||||
|
super.getText().clear();
|
||||||
|
}
|
||||||
|
m_from_stk_editbox = false;
|
||||||
|
}
|
||||||
|
clearFocus();
|
||||||
|
setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
m_from_stk_editbox = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
/* Called by STK with JNI to set this view with new text (like user focus
|
||||||
|
* a new editbox in stk, or change cursor / selection). */
|
||||||
|
public void setTextFromSTK(int widget_id, final String text,
|
||||||
|
int selection_start, int selection_end)
|
||||||
|
{
|
||||||
|
m_stk_widget_id = widget_id;
|
||||||
|
// Avoid sending the newly set text back to STK at the same time
|
||||||
|
m_from_stk_editbox = true;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
String old_text = getText().toString();
|
||||||
|
boolean text_changed = !text.equals(old_text);
|
||||||
|
if (text_changed)
|
||||||
|
{
|
||||||
|
super.clearComposingText();
|
||||||
|
super.setText(text);
|
||||||
|
m_stk_input_connection.setComposingRegion(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (selection_start != selection_end &&
|
||||||
|
selection_start > selection_end)
|
||||||
|
{
|
||||||
|
int temp = selection_end;
|
||||||
|
selection_end = selection_start;
|
||||||
|
selection_start = temp;
|
||||||
|
}
|
||||||
|
if (selection_start < 0)
|
||||||
|
selection_start = 0;
|
||||||
|
if (selection_end > length())
|
||||||
|
selection_end = length();
|
||||||
|
|
||||||
|
if (text_changed)
|
||||||
|
{
|
||||||
|
InputMethodManager imm = (InputMethodManager)getContext()
|
||||||
|
.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||||
|
if (imm != null)
|
||||||
|
{
|
||||||
|
// From google, You should call this when the text within
|
||||||
|
// your view changes outside of the normal input method or
|
||||||
|
// key input flow, such as when an application calls
|
||||||
|
// TextView.setText().
|
||||||
|
imm.restartInput(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setSelection(selection_start, selection_end);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
m_from_stk_editbox = false;
|
||||||
|
}
|
||||||
|
m_from_stk_editbox = false;
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
public STKInputConnection getSTKInputConnection()
|
||||||
|
{ return m_stk_input_connection; }
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
public void configType(final int type)
|
||||||
|
{
|
||||||
|
int it = InputType.TYPE_CLASS_TEXT;
|
||||||
|
// Check text_box_widget.hpp for definition
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
{
|
||||||
|
it = InputType.TYPE_CLASS_TEXT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
it = InputType.TYPE_CLASS_TEXT |
|
||||||
|
InputType.TYPE_TEXT_FLAG_CAP_SENTENCES;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 2:
|
||||||
|
{
|
||||||
|
it = InputType.TYPE_TEXT_VARIATION_PASSWORD;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 3:
|
||||||
|
{
|
||||||
|
it = InputType.TYPE_CLASS_NUMBER;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 4:
|
||||||
|
{
|
||||||
|
it = InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (it != getInputType())
|
||||||
|
setInputType(it);
|
||||||
|
}
|
||||||
|
}
|
||||||
68
android/src/main/java/STKInputConnection.java
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
package org.supertuxkart.stk_dbg;
|
||||||
|
|
||||||
|
import org.supertuxkart.stk_dbg.STKEditText;
|
||||||
|
|
||||||
|
import android.view.inputmethod.InputConnection;
|
||||||
|
import android.view.inputmethod.InputConnectionWrapper;
|
||||||
|
|
||||||
|
public class STKInputConnection extends InputConnectionWrapper
|
||||||
|
{
|
||||||
|
/* The global edittext which will be "copied" to the current focused STK
|
||||||
|
* box. */
|
||||||
|
final private STKEditText m_stk_edittext;
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
public STKInputConnection(InputConnection target, STKEditText stk_edittext)
|
||||||
|
{
|
||||||
|
super(target, true/*mutable*/);
|
||||||
|
m_stk_edittext = stk_edittext;
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public boolean setComposingText(CharSequence text, int new_cursor_position)
|
||||||
|
{
|
||||||
|
boolean ret = super.setComposingText(text, new_cursor_position);
|
||||||
|
String composing_text = text.toString();
|
||||||
|
String new_text = m_stk_edittext.getText().toString();
|
||||||
|
int composing_start = 0;
|
||||||
|
int composing_end = 0;
|
||||||
|
// Test last char
|
||||||
|
if (!composing_text.isEmpty() && !new_text.isEmpty() &&
|
||||||
|
composing_text.charAt(composing_text.length() - 1) ==
|
||||||
|
new_text.charAt(new_text.length() - 1))
|
||||||
|
{
|
||||||
|
composing_start = new_text.length() - composing_text.length();
|
||||||
|
composing_end = composing_start + composing_text.length();
|
||||||
|
}
|
||||||
|
m_stk_edittext.setComposingRegion(composing_start, composing_end);
|
||||||
|
m_stk_edittext.updateSTKEditBox();
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public boolean finishComposingText()
|
||||||
|
{
|
||||||
|
m_stk_edittext.setComposingRegion(0, 0);
|
||||||
|
m_stk_edittext.updateSTKEditBox();
|
||||||
|
return super.finishComposingText();
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public boolean setComposingRegion(int start, int end)
|
||||||
|
{
|
||||||
|
m_stk_edittext.setComposingRegion(start, end);
|
||||||
|
m_stk_edittext.updateSTKEditBox();
|
||||||
|
return super.setComposingRegion(start, end);
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public boolean commitText(CharSequence text, int new_cursor_position)
|
||||||
|
{
|
||||||
|
// Usually only a single character, so dismiss composing region
|
||||||
|
boolean ret = super.commitText(text, new_cursor_position);
|
||||||
|
m_stk_edittext.setComposingRegion(0, 0);
|
||||||
|
m_stk_edittext.updateSTKEditBox();
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
221
android/src/main/java/SuperTuxKartActivity.java
Normal file
@@ -0,0 +1,221 @@
|
|||||||
|
package org.supertuxkart.stk_dbg;
|
||||||
|
|
||||||
|
import org.supertuxkart.stk_dbg.STKEditText;
|
||||||
|
|
||||||
|
import android.app.NativeActivity;
|
||||||
|
import android.content.ActivityNotFoundException;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
import android.graphics.Rect;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.text.Editable;
|
||||||
|
import android.text.TextWatcher;
|
||||||
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
import android.view.KeyEvent;
|
||||||
|
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.FrameLayout;
|
||||||
|
|
||||||
|
public class SuperTuxKartActivity extends NativeActivity
|
||||||
|
{
|
||||||
|
private STKEditText m_stk_edittext;
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
private native void saveKeyboardHeight(int height);
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
private void hideKeyboardNative(final boolean clear_text)
|
||||||
|
{
|
||||||
|
if (m_stk_edittext == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_stk_edittext.beforeHideKeyboard(clear_text);
|
||||||
|
|
||||||
|
InputMethodManager imm = (InputMethodManager)
|
||||||
|
getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||||
|
if (imm == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
imm.hideSoftInputFromWindow(m_stk_edittext.getWindowToken(), 0);
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
private void hideNavBar(View decor_view)
|
||||||
|
{
|
||||||
|
if (Build.VERSION.SDK_INT < 19)
|
||||||
|
return;
|
||||||
|
decor_view.setSystemUiVisibility(
|
||||||
|
View.SYSTEM_UI_FLAG_FULLSCREEN |
|
||||||
|
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
|
||||||
|
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
|
||||||
|
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
|
||||||
|
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
|
||||||
|
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
private void createSTKEditText()
|
||||||
|
{
|
||||||
|
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
|
||||||
|
FrameLayout.LayoutParams.WRAP_CONTENT,
|
||||||
|
FrameLayout.LayoutParams.WRAP_CONTENT);
|
||||||
|
m_stk_edittext = new STKEditText(this);
|
||||||
|
// For some copy-and-paste text are not done by commitText in
|
||||||
|
// STKInputConnection, so we need an extra watcher
|
||||||
|
m_stk_edittext.addTextChangedListener(new TextWatcher()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void onTextChanged(CharSequence s, int start, int before,
|
||||||
|
int count) {}
|
||||||
|
@Override
|
||||||
|
public void beforeTextChanged(CharSequence s, int start, int count,
|
||||||
|
int after) {}
|
||||||
|
@Override
|
||||||
|
public void afterTextChanged(Editable edit)
|
||||||
|
{
|
||||||
|
if (m_stk_edittext != null)
|
||||||
|
m_stk_edittext.updateSTKEditBox();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
addContentView(m_stk_edittext, params);
|
||||||
|
// Only focus it and make visible when soft keybord is opened
|
||||||
|
m_stk_edittext.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle instance)
|
||||||
|
{
|
||||||
|
super.onCreate(instance);
|
||||||
|
System.loadLibrary("main");
|
||||||
|
m_stk_edittext = null;
|
||||||
|
|
||||||
|
final View root = getWindow().getDecorView().findViewById(
|
||||||
|
android.R.id.content);
|
||||||
|
root.getViewTreeObserver().addOnGlobalLayoutListener(new
|
||||||
|
OnGlobalLayoutListener()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void onGlobalLayout()
|
||||||
|
{
|
||||||
|
Rect r = new Rect();
|
||||||
|
root.getWindowVisibleDisplayFrame(r);
|
||||||
|
int screen_height = root.getRootView().getHeight();
|
||||||
|
int keyboard_height = screen_height - (r.bottom);
|
||||||
|
saveKeyboardHeight(keyboard_height);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
final View decor_view = getWindow().getDecorView();
|
||||||
|
decor_view.setOnSystemUiVisibilityChangeListener(
|
||||||
|
new View.OnSystemUiVisibilityChangeListener()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void onSystemUiVisibilityChange(int visibility)
|
||||||
|
{
|
||||||
|
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0)
|
||||||
|
hideNavBar(decor_view);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public void onPause()
|
||||||
|
{
|
||||||
|
super.onPause();
|
||||||
|
hideKeyboardNative(false/*clear_text*/);
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public void onWindowFocusChanged(boolean has_focus)
|
||||||
|
{
|
||||||
|
super.onWindowFocusChanged(has_focus);
|
||||||
|
if (has_focus)
|
||||||
|
hideNavBar(getWindow().getDecorView());
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public boolean dispatchKeyEvent(KeyEvent event)
|
||||||
|
{
|
||||||
|
// Called when user change cursor / select all text in native android
|
||||||
|
// keyboard
|
||||||
|
boolean ret = super.dispatchKeyEvent(event);
|
||||||
|
if (m_stk_edittext != null)
|
||||||
|
m_stk_edittext.updateSTKEditBox();
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
public void showKeyboard(final int type)
|
||||||
|
{
|
||||||
|
final Context context = this;
|
||||||
|
// Need to run in ui thread as it access the view m_stk_edittext
|
||||||
|
runOnUiThread(new Runnable()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
InputMethodManager imm = (InputMethodManager)
|
||||||
|
getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||||
|
if (imm == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (m_stk_edittext == null)
|
||||||
|
createSTKEditText();
|
||||||
|
|
||||||
|
m_stk_edittext.configType(type);
|
||||||
|
m_stk_edittext.setVisibility(View.VISIBLE);
|
||||||
|
m_stk_edittext.requestFocus();
|
||||||
|
|
||||||
|
imm.showSoftInput(m_stk_edittext,
|
||||||
|
InputMethodManager.SHOW_FORCED);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
/* Called by STK in JNI. */
|
||||||
|
public void hideKeyboard(final boolean clear_text)
|
||||||
|
{
|
||||||
|
runOnUiThread(new Runnable()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
hideKeyboardNative(clear_text);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
/* Called by STK in JNI. */
|
||||||
|
public void openURL(final String url)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Uri uri = Uri.parse(url);
|
||||||
|
Intent i = new Intent(Intent.ACTION_VIEW, uri);
|
||||||
|
if (i.resolveActivity(getPackageManager()) != null)
|
||||||
|
startActivity(i);
|
||||||
|
}
|
||||||
|
catch (ActivityNotFoundException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
/* Called by STK in JNI. */
|
||||||
|
public void fromSTKEditBox(final int widget_id, final String text,
|
||||||
|
final int selection_start,
|
||||||
|
final int selection_end, final int type)
|
||||||
|
{
|
||||||
|
runOnUiThread(new Runnable()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
if (m_stk_edittext == null)
|
||||||
|
createSTKEditText();
|
||||||
|
m_stk_edittext.configType(type);
|
||||||
|
m_stk_edittext.setTextFromSTK(widget_id, text, selection_start,
|
||||||
|
selection_end);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
find_path(FREETYPE_INCLUDE_DIRS NAMES freetype/freetype.h PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
|
find_path(FREETYPE_INCLUDE_DIRS NAMES freetype/freetype.h PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
|
||||||
find_library(FREETYPE_LIBRARY NAMES freetype PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
|
find_library(FREETYPE_LIBRARY NAMES freetype libfreetype PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
|
||||||
set(FREETYPE_FOUND 1)
|
set(FREETYPE_FOUND 1)
|
||||||
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
|
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ endif()
|
|||||||
|
|
||||||
if(NOT FRIBIDI_FOUND)
|
if(NOT FRIBIDI_FOUND)
|
||||||
find_path(FRIBIDI_INCLUDE_DIR NAMES fribidi/fribidi.h PATHS /Library/Frameworks/fribidi.framework/Headers "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
|
find_path(FRIBIDI_INCLUDE_DIR NAMES fribidi/fribidi.h PATHS /Library/Frameworks/fribidi.framework/Headers "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
|
||||||
find_library(FRIBIDI_LIBRARY NAMES fribidi PATHS /Library/Frameworks/fribidi.framework "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
|
find_library(FRIBIDI_LIBRARY NAMES fribidi libfribidi PATHS /Library/Frameworks/fribidi.framework "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
find_package_handle_standard_args(Fribidi DEFAULT_MSG FRIBIDI_INCLUDE_DIR FRIBIDI_LIBRARY)
|
find_package_handle_standard_args(Fribidi DEFAULT_MSG FRIBIDI_INCLUDE_DIR FRIBIDI_LIBRARY)
|
||||||
|
|||||||
364
data/CREDITS
@@ -7,19 +7,25 @@ A Kart Racing Game Featuring Tux & Friends
|
|||||||
|
|
||||||
= Joerg Henrichs (hiker) =
|
= Joerg Henrichs (hiker) =
|
||||||
|
|
||||||
Developer and project leader
|
Former project leader
|
||||||
- Lead programming
|
- Project leader and lead programmer up to STK 1.0
|
||||||
- Windows Packaging
|
- Among too many things to list:
|
||||||
|
- Work on physics, AI, networking
|
||||||
|
- A lot of bugfixes and enhancements
|
||||||
|
- Windows packaging
|
||||||
|
|
||||||
= Marianne Gagnon (Auria) =
|
= Marianne Gagnon (Auria) =
|
||||||
|
|
||||||
Developer
|
Developer
|
||||||
- Lead Programming
|
- Former lead programmer
|
||||||
- Mac OS X Packager
|
- Mac OS X Packager
|
||||||
|
- Among too many things to list:
|
||||||
|
- GUI engine and user interface
|
||||||
|
- A lot of bugfixes and enhancements
|
||||||
|
|
||||||
= Benau =
|
= Benau =
|
||||||
|
|
||||||
Developer, modeller & animator
|
Lead developer, modeller & animator
|
||||||
- Soccer and battle mode AI, Shader, graphics
|
- Soccer and battle mode AI, Shader, graphics
|
||||||
- SPM file format definition, importer and exporter
|
- SPM file format definition, importer and exporter
|
||||||
- A lot of networking code
|
- A lot of networking code
|
||||||
@@ -43,19 +49,11 @@ Lead graphical artist
|
|||||||
|
|
||||||
= Alayan =
|
= Alayan =
|
||||||
|
|
||||||
Developer
|
Lead developer
|
||||||
- Story mode and gameplay improvements
|
- Story mode and gameplay improvements
|
||||||
- AI improvements
|
- AI improvements
|
||||||
- General improvements and bugfixes
|
- General improvements and bugfixes
|
||||||
|
|
||||||
= Magne Djupvik (Arthur) =
|
|
||||||
|
|
||||||
Public relations and faithful follower
|
|
||||||
- SuperTuxKart Blog
|
|
||||||
- Play testing
|
|
||||||
- Pun master
|
|
||||||
|
|
||||||
|
|
||||||
= Online =
|
= Online =
|
||||||
Add-ons website
|
Add-ons website
|
||||||
- Daniel Butum (leyyin)
|
- Daniel Butum (leyyin)
|
||||||
@@ -64,35 +62,13 @@ Add-ons website
|
|||||||
|
|
||||||
= Additional Programming =
|
= Additional Programming =
|
||||||
|
|
||||||
Main Contributors
|
Signifcant bug fixes & misc. contributions for 1.0 and 1.1
|
||||||
- Marc Coll : Grand Prix editor
|
|
||||||
- Flakebi
|
|
||||||
- Konstin
|
|
||||||
- math07
|
|
||||||
- Elderme : Work on graphical engine
|
|
||||||
|
|
||||||
|
|
||||||
Google Summer of Code Students
|
|
||||||
- Robin Nicollet
|
|
||||||
- Glenn de Jonghe
|
|
||||||
- Lauri Kasanen
|
|
||||||
- Daniel Butum
|
|
||||||
- Bart Cools
|
|
||||||
- Csaba Molnar
|
|
||||||
- Sachith Seneviratne
|
|
||||||
- Akshay Singhvi
|
|
||||||
|
|
||||||
|
|
||||||
Bug fixes & misc contributions
|
|
||||||
- Divya Kukar (divvy81)
|
|
||||||
- Fabien Sanglard : normal map shader
|
|
||||||
- Damien
|
|
||||||
- David (Work on flying items)
|
|
||||||
- Stephen Dunn (Work on audio)
|
|
||||||
- Patrick Ammann
|
|
||||||
- Ward Muylaert
|
|
||||||
- Fantasmos
|
- Fantasmos
|
||||||
- QwertyChouskie
|
- QwertyChouskie
|
||||||
|
- Dumaosen
|
||||||
|
- Mrxx99
|
||||||
|
- Pelya
|
||||||
|
|
||||||
|
|
||||||
= Visual art =
|
= Visual art =
|
||||||
|
|
||||||
@@ -103,10 +79,10 @@ Tracks
|
|||||||
- Ponzino : Volcan Island
|
- Ponzino : Volcan Island
|
||||||
|
|
||||||
Tracks
|
Tracks
|
||||||
- Canis Lupus : Original 'Northern Resort' & Scotland
|
- Canis Lupus : Original 'Northern Resort' & 'Scotland'
|
||||||
- Ivar ten Cate (Varivar) : Original 'Old Mine' & 'Snow Peaks' Improvements
|
- Ivar ten Cate (Varivar) : Original 'Old Mine' & 'Snow Peaks' Improvements
|
||||||
- MacIO : Cave X
|
- MacIO : Cave X
|
||||||
- Steve and Oliver Baker : Oliver's Math Class
|
- Steve and Oliver Baker : Original 'Oliver's Math Class'
|
||||||
|
|
||||||
Karts
|
Karts
|
||||||
- JunglePenguin : Xue
|
- JunglePenguin : Xue
|
||||||
@@ -158,6 +134,8 @@ GUI Icons and Other Art
|
|||||||
- The Tango icon project, the Gnome icon set
|
- The Tango icon project, the Gnome icon set
|
||||||
- Dakal : textures
|
- Dakal : textures
|
||||||
- Andy (Needer)
|
- Andy (Needer)
|
||||||
|
|
||||||
|
GUI Icons and Other Art
|
||||||
- Paul Elms (scifly)
|
- Paul Elms (scifly)
|
||||||
- Elisee : Checker background
|
- Elisee : Checker background
|
||||||
- Mariam Lamrani (may-panda): wallpaper and poster
|
- Mariam Lamrani (may-panda): wallpaper and poster
|
||||||
@@ -222,16 +200,19 @@ Website
|
|||||||
Packaging
|
Packaging
|
||||||
- Auria: MacOS package
|
- Auria: MacOS package
|
||||||
- hiker: Windows
|
- hiker: Windows
|
||||||
- Dawid Gan: Static packages
|
- Dawid Gan: Linux and Android packages
|
||||||
|
|
||||||
Testing
|
Testing for 1.0 and 1.1
|
||||||
- Magne Djupvik
|
- Alayan
|
||||||
- KroArtem
|
- deveee
|
||||||
- Everyone else who helped test STK!
|
- Wuzzy
|
||||||
|
- The speedrunners who found many exploits
|
||||||
|
- Everyone else who made good issues report!
|
||||||
|
|
||||||
Development Babies
|
Development Babies
|
||||||
- Florian
|
- Florian
|
||||||
|
|
||||||
|
|
||||||
= Software =
|
= Software =
|
||||||
|
|
||||||
Software used
|
Software used
|
||||||
@@ -241,116 +222,59 @@ Software used
|
|||||||
- curl
|
- curl
|
||||||
- freetype2
|
- freetype2
|
||||||
- OpenAL
|
- OpenAL
|
||||||
|
|
||||||
|
Software used
|
||||||
- ogg
|
- ogg
|
||||||
- vorbis
|
- vorbis
|
||||||
- fribidi
|
- fribidi
|
||||||
- blender
|
- blender
|
||||||
- wiiuse
|
- wiiuse
|
||||||
|
- harfbuzz
|
||||||
|
|
||||||
|
Software used
|
||||||
|
- libraqm
|
||||||
|
- sqlite
|
||||||
|
- openssl
|
||||||
|
- mcpp
|
||||||
|
|
||||||
= Donations =
|
|
||||||
|
|
||||||
Donations
|
|
||||||
- Georgi Stoychev, Nuno Ferreira, Steven Anderson, Charalabos Frouzakis
|
|
||||||
- Richard Qian, William Nakamura, Maree Glynn, David Carlier
|
|
||||||
- Alistair Findlay, James Tobin, Ursula Belting, Stephan van den Akker
|
|
||||||
- Ken McCall, Arnaud Maurin, James Tobin, Stefan Kiehne, David Efflandt
|
|
||||||
- Gary Shearer, Stuart Gibb, Fran Casal, Piotr Karczemski, Florian Lehébel
|
|
||||||
- Dominik Müller, Saverio Brancaccio, Florian Lehébel
|
|
||||||
|
|
||||||
Donations
|
|
||||||
- Alvaro Castañeda Mendoza, Simón Llinares Riestra, Radu Sofian
|
|
||||||
- Yevgeny Slusorenko, Joshua Dye, Chris Lukas, Gary Shearer, Gary Shearer
|
|
||||||
- Martin Lankes, Muchlis Polin, Peter Estes, Nuno Ferreira, Duncan Steele
|
|
||||||
- Michael Kleinhans, Atomic Monks, Aleksandar Sokolovski, Brandon Hoeksema
|
|
||||||
- Victor Gabillon, Tristan Reitter, Lupe Aguilar, Florian Pelz
|
|
||||||
- Tanja Wiege, Gabriele Casetti, Andrea De Angelis, Saul Gutierrez
|
|
||||||
- Csongor Ballay, Csongor Ballay, William Youstra, Peter Estes
|
|
||||||
- Régis Hamann, Régis Hamann, Yuri Sucupira, Lucien Greefkes, Frank Sapone
|
|
||||||
|
|
||||||
Donations
|
|
||||||
- Peter Cundall, Michael Richards, Franz Ernst, Florian Lehébel
|
|
||||||
- Jörg Orlowski, Lukasz Szczekocki, Bjarni Kristinsson, David Carlier
|
|
||||||
- Kamensky Mikhail, Roland Schoof, Trevor Robertson, Patrik Pomichal
|
|
||||||
- Guillaume Pointet, Dennis Holierhoek, Daniel Nelson, David Hibshman
|
|
||||||
- Thomas Belvin, Erik Jahn, Susen Skotnik, Dennis McLaughlin, Bert De Mets
|
|
||||||
- Jean-Gabriel Kammerer, Stefan Lukits, Martin Steigerwald
|
|
||||||
- Adam Williamson, A Anton, Ville Kauppila, Gary Shearer
|
|
||||||
- Peter Hausleitner, Philip Pfeifer, Christoph Baldauf, Jane Middlebrooke
|
|
||||||
|
|
||||||
Donations
|
|
||||||
- roundof.org, Roman Marschall, Gary Shearer, Jonathan Banks
|
|
||||||
- Nicolas Affolter, Mahendra Tallur, David Behnke, Mark Supper
|
|
||||||
- Eric Cheminot, Jason Speechley, Michael Martin, Andrew Gilbert
|
|
||||||
- Fabian Schach, michael orosov, Wendell Glick, Eugene Lemaitre
|
|
||||||
- Gerald Angus, Andrea De Angelis, Antonio Sala, Joshua Dye, roundof.org
|
|
||||||
- Andreas Müller, Jose Miguel Bolorino Manzano, Troy Smith, Bernhard Motel
|
|
||||||
- Bernhard Motel, Alexandre Bouhier, Thomas Preissler, Lubomír Saji
|
|
||||||
- Eric Pedersen, Fabrice SAILLY-SIRGUE, Simon Dalsgaard, Joshua Dye
|
|
||||||
|
|
||||||
Donations
|
|
||||||
- Detlef Olp, João Pedro de Lima, Christopher Sweeney, Ryan Gervais
|
|
||||||
- Laszlo Ast, Robert Yerke, Nuno Ferreira, Lachand Valentin, Arne Bernin
|
|
||||||
- Carsten Carulli, Jeremy Kenny, Francisco Monteagudo, Marlow Marlow
|
|
||||||
- Kong Chun Ho, Jonathan Lee, Dominik Rösner, Andreas Frankl
|
|
||||||
- Didier Delhaye, Gianluca Bonato, Ferdinand Ihringer, Mark Dougherty
|
|
||||||
- Топоров Константин, Georges-Mickael Seguin, Jason Grindlay
|
|
||||||
- Gordon Macleod, Anders Jonsson, Peter Estes, Marius Gripsgård,
|
|
||||||
- FoosterNET, Daniel Sandman, David Ault, Matt DeVillier, Chris Leutwyler
|
|
||||||
|
|
||||||
Donations
|
|
||||||
- Anthony Waxman, Rémi Verschelde, Alessandro Vitali, Katherine Freeman
|
|
||||||
- Roy Akselsen, Ingrid Becke, Jonathan Lee, Christoph Baldauf
|
|
||||||
- Victor Gabillon, Yves Fourneau, Rubén Leal Coba, Andreas Müller
|
|
||||||
- Santiago Hoyos Zea, Tobias Wenig, Nuno Ferreira, Fran Casal
|
|
||||||
- Alexey Горохов, Luka Vievsky, Nathan Dykhuis, David , David Leschinsky
|
|
||||||
- Sam Tygier, Алексей Казаков, Matthew Golliher
|
|
||||||
- Karl Ove Hufthammer, Richard Stoltenberg, Niklas Anderson, Alfred Turner
|
|
||||||
- Adrian Spirgi, Frank Abrignani, Lukasz Korpalski, Andea De Angelis
|
|
||||||
|
|
||||||
Donations
|
|
||||||
- Pedro Freitas Fleck, Lachand Valentin, Cyrille Giquello, FoosterNet
|
|
||||||
- Olivier C. Pageau, Bérenger Ossete Gombe, Michael Schönitzer
|
|
||||||
- Daniel Martínez García, Joe Westcott, Patrik Nilsson, Will Hennegan
|
|
||||||
- Philip Whitfield, Markus Hedetoft, Walt Zwierzycki, Jake Jarrett
|
|
||||||
- Kyle Maggio, Richárd Ráthgéber, Gilles Wittezaele, Daniel Sandman
|
|
||||||
- Haldor Zaake-Hertling, Elvis Kandler, OPE Beckman Lapre
|
|
||||||
- Esteban Monge Marin, Marcos Schnalke, Maximilian Rüdiger, Glenn Geenen
|
|
||||||
- Michael Biller, Vincent Bermel, John Cordray, Jannik Heller
|
|
||||||
|
|
||||||
Donations
|
|
||||||
- Vincent Stavleu, Jairo Estefania Vilumbrales, Michal Klaus, Josh Dye
|
|
||||||
- Carlos Solís Róger, James Vandermark, Wouter Reckman, Nuno Ferreira
|
|
||||||
- Crefelean Nicolae, Mark Saliers, Issa Gorissen, Tom Reynolds
|
|
||||||
- James Dearing, Collin Blatt, Vincent Bermel, Nuno Ferreira
|
|
||||||
- Jarl Frode Arntzen, Vladimir Tuboltsev, Attila Cseman
|
|
||||||
- Frank Lauterbach, Mahendra Tallur, Matthijs Harmsen, Dietmar Wolf
|
|
||||||
- Suwannee Massage, Fabio Molinari, Christian Ritzer
|
|
||||||
- Gerard Vaas, Edgar Klenske, Georgi Stoychev, Daniel Reimann
|
|
||||||
|
|
||||||
Donations
|
|
||||||
- Tibor Grasser, Robert Forster, Kelonye Mitchel, Dennis Shewmaker,
|
|
||||||
- ProMission Projects, Inc., Ken McCall, Peter Estes, Markus Valkeapää
|
|
||||||
- Victor Gabillon, Franz Schmid, Austin Williamson, Artūras Norkus
|
|
||||||
- Roland Schoof, Borisenkov Alexey, Edvin Djupvik, Mikel Crespo,
|
|
||||||
- Trevor Robertson, Sergej Engbrecht, Dylan Mahoney,
|
|
||||||
- Joel Schaerer, Stephanie Theisz, Mokimoke, George Angelopoulos
|
|
||||||
- Kharlamov Ivan, Cedric Briand, Christoph Baldauf, Marco Caiazza,
|
|
||||||
- Volkov Alexandr, Evelyne Tenaerts, Thomas Salmhofer, Ralfe Gomes Ecard
|
|
||||||
|
|
||||||
Donations
|
|
||||||
- Carlos Alonso Pena Osorio, Philip Delaney, Giorgio Cantoni,
|
|
||||||
- Gabriel Stedtler, Alexander Sauter, Robert Premuž, Antonín Pilát
|
|
||||||
- Sylvain St-Amand, Apostolos Apostolidis, E. Cole, David Ault
|
|
||||||
- Vinzenz Vietzke,Edgar Bennet, Ryan Lei, Sergey Spiridonov
|
|
||||||
- Michal Sladek, Peter Lebbing, Roland Schoof, Lars Peter Mathiassen
|
|
||||||
- Benjamin Gronke, Marc Coll, Peter Estes, John Yewell, Josh Dye
|
|
||||||
- Sebastian Rode, OpenGameArt.org, Tux_penguin, Magne Djupvik
|
|
||||||
- Markus Liukka, Phelippeau Rudy, Javier Pedros Cholvi, Michael Roessner
|
|
||||||
- Ivan Wright, Carl Olsson, Sergey V. Spiridonov
|
|
||||||
|
|
||||||
= Previous contributors =
|
= Previous contributors =
|
||||||
|
|
||||||
|
Magne Djupvik (Arthur)
|
||||||
|
- Public relations and faithful follower
|
||||||
|
- SuperTuxKart Blog
|
||||||
|
- Play testing
|
||||||
|
- Pun master
|
||||||
|
|
||||||
|
Google Summer of Code Students
|
||||||
|
- Robin Nicollet
|
||||||
|
- Glenn de Jonghe
|
||||||
|
- Lauri Kasanen
|
||||||
|
- Daniel Butum
|
||||||
|
- Bart Cools
|
||||||
|
|
||||||
|
|
||||||
|
Google Summer of Code Students
|
||||||
|
- Csaba Molnar
|
||||||
|
- Sachith Seneviratne
|
||||||
|
- Akshay Singhvi
|
||||||
|
|
||||||
|
No longer active
|
||||||
|
- Marc Coll : Grand Prix editor
|
||||||
|
- Flakebi
|
||||||
|
- Konstin
|
||||||
|
- math07
|
||||||
|
- Elderme : Work on graphical engine
|
||||||
|
- Ward Muylaert
|
||||||
|
|
||||||
|
No longer active
|
||||||
|
- Divya Kukar (divvy81)
|
||||||
|
- Fabien Sanglard : normal map shader
|
||||||
|
- Damien
|
||||||
|
- David (Work on flying items)
|
||||||
|
- Stephen Dunn (Work on audio)
|
||||||
|
- Patrick Ammann
|
||||||
|
|
||||||
No longer active
|
No longer active
|
||||||
- Vincent Lejeune (vlj) : 3D engine
|
- Vincent Lejeune (vlj) : 3D engine
|
||||||
- Eduardo Hernandez Munoz (Coz) : Former Admin
|
- Eduardo Hernandez Munoz (Coz) : Former Admin
|
||||||
@@ -358,14 +282,16 @@ No longer active
|
|||||||
- Sam Clarke : Windows Installer
|
- Sam Clarke : Windows Installer
|
||||||
- Hans "the farmer" Dzaack : Physics tuning
|
- Hans "the farmer" Dzaack : Physics tuning
|
||||||
- Maik Semder (Ikework) : Bug fixes
|
- Maik Semder (Ikework) : Bug fixes
|
||||||
- Xapantu : add-ons website
|
|
||||||
|
|
||||||
No longer active
|
No longer active
|
||||||
|
- Xapantu : add-ons website
|
||||||
- Lionel Fuentes (Funto) : Soccer mode and other contributions
|
- Lionel Fuentes (Funto) : Soccer mode and other contributions
|
||||||
- Mohammad Al-Ghannam (Yasin) : Soccer mode
|
- Mohammad Al-Ghannam (Yasin) : Soccer mode
|
||||||
- Johannesr1 : Bubble gum shield
|
- Johannesr1 : Bubble gum shield
|
||||||
- Glenn De Jonghe (Unitraxx) : Grand Prix progress saving
|
- Glenn De Jonghe (Unitraxx) : Grand Prix progress saving
|
||||||
- MCMic : reverse mode
|
- MCMic : reverse mode
|
||||||
|
|
||||||
|
No longer active
|
||||||
- Yann Leprince (sciyann)
|
- Yann Leprince (sciyann)
|
||||||
- Xenux : Add-Ons filtering
|
- Xenux : Add-Ons filtering
|
||||||
- jmimu
|
- jmimu
|
||||||
@@ -384,6 +310,146 @@ Original Tuxkart
|
|||||||
- Steve Baker (http://www.sjbaker.org/)
|
- Steve Baker (http://www.sjbaker.org/)
|
||||||
- Oliver Baker
|
- Oliver Baker
|
||||||
|
|
||||||
|
|
||||||
|
= Donations =
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- Максим Мурин, John Clark, Wing On Cheung, Jan
|
||||||
|
- ANNOP CHAWALITSITTHIKUN, ARTYOM DEMAKOV, Rio Marco Rathje
|
||||||
|
- Tibor Dikó, Luca TEDESCHI, Merle Nicolaou, Michael ISSARTEL
|
||||||
|
- ALEKSANDR ZHEMCHUGOV, Tobias Brohl, Dzianis Kim
|
||||||
|
- Joshua Miller, Brenda Punzel, Peter M Estes, Benedikt Kleinmeier
|
||||||
|
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- Trevor Hass, Thomas Belvin, Simona-A.-Petronela Crefelean
|
||||||
|
- Schmidt Christian, Roberto Giuliani, Robert A Swearingen
|
||||||
|
- Rene Genz, René Schubert, Pazurik Laszlo Adam, Oskar Vigren
|
||||||
|
- M J Angove, Florian Lehebel, David E Scourfield, Michael Laube
|
||||||
|
- Merlin Juusola, Matthias Wiege, Matthew Toppenberg, Martin Rejman
|
||||||
|
- Mark Gannon, Lukas Palme, Lennart Mellqvist, Joshua Dye, Jan Havran
|
||||||
|
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- Jacqueline Brown, Igor Murzich, Guido Stehr, Gisela Ehresmann
|
||||||
|
- Evaldas Granickas, Elisabeth Lambert, Edith Muijsers, DC Jaeger
|
||||||
|
- Damian Fajfer, Chase Williamson, Carsten Timm, Baptiste Dagneaux
|
||||||
|
- Alexander Olkhovsky, Aleix Casamitjana, Adrián Chaves Fernández
|
||||||
|
- Georgi Stoychev, Nuno Ferreira, Steven Anderson, Charalabos Frouzakis
|
||||||
|
- Richard Qian, William Nakamura, Maree Glynn, David Carlier
|
||||||
|
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- Alistair Findlay, James Tobin, Ursula Belting, Stephan van den Akker
|
||||||
|
- Ken McCall, Arnaud Maurin, James Tobin, Stefan Kiehne, David Efflandt
|
||||||
|
- Gary Shearer, Stuart Gibb, Fran Casal, Piotr Karczemski, Florian Lehébel
|
||||||
|
- Dominik Müller, Saverio Brancaccio, Florian Lehébel, Pietro Pizzo
|
||||||
|
- Alvaro Castañeda Mendoza, Simón Llinares Riestra, Radu Sofian
|
||||||
|
- Yevgeny Slusorenko, Joshua Dye, Chris Lukas, Gary Shearer, Gary Shearer
|
||||||
|
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- Martin Lankes, Muchlis Polin, Peter Estes, Nuno Ferreira, Duncan Steele
|
||||||
|
- Michael Kleinhans, Atomic Monks, Aleksandar Sokolovski, Brandon Hoeksema
|
||||||
|
- Victor Gabillon, Tristan Reitter, Lupe Aguilar, Florian Pelz
|
||||||
|
- Tanja Wiege, Gabriele Casetti, Andrea De Angelis, Saul Gutierrez
|
||||||
|
- Csongor Ballay, Csongor Ballay, William Youstra, Peter Estes
|
||||||
|
- Régis Hamann, Régis Hamann, Yuri Sucupira, Lucien Greefkes, Frank Sapone
|
||||||
|
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- Peter Cundall, Michael Richards, Franz Ernst, Florian Lehébel
|
||||||
|
- Jörg Orlowski, Lukasz Szczekocki, Bjarni Kristinsson, David Carlier
|
||||||
|
- Kamensky Mikhail, Roland Schoof, Trevor Robertson, Patrik Pomichal
|
||||||
|
- Guillaume Pointet, Dennis Holierhoek, Daniel Nelson, David Hibshman
|
||||||
|
- Thomas Belvin, Erik Jahn, Susen Skotnik, Dennis McLaughlin, Bert De Mets
|
||||||
|
- Jean-Gabriel Kammerer, Stefan Lukits, Martin Steigerwald
|
||||||
|
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- Adam Williamson, A Anton, Ville Kauppila, Gary Shearer
|
||||||
|
- Peter Hausleitner, Philip Pfeifer, Christoph Baldauf, Jane Middlebrooke
|
||||||
|
- roundof.org, Roman Marschall, Gary Shearer, Jonathan Banks
|
||||||
|
- Nicolas Affolter, Mahendra Tallur, David Behnke, Mark Supper
|
||||||
|
- Eric Cheminot, Jason Speechley, Michael Martin, Andrew Gilbert
|
||||||
|
- Fabian Schach, michael orosov, Wendell Glick, Eugene Lemaitre
|
||||||
|
|
||||||
|
Donations
|
||||||
|
|
||||||
|
- Gerald Angus, Andrea De Angelis, Antonio Sala, Joshua Dye, roundof.org
|
||||||
|
- Andreas Müller, Jose Miguel Bolorino Manzano, Troy Smith, Bernhard Motel
|
||||||
|
- Bernhard Motel, Alexandre Bouhier, Thomas Preissler, Lubomír Saji
|
||||||
|
- Eric Pedersen, Fabrice SAILLY-SIRGUE, Simon Dalsgaard, Joshua Dye
|
||||||
|
- Detlef Olp, João Pedro de Lima, Christopher Sweeney, Ryan Gervais
|
||||||
|
- Laszlo Ast, Robert Yerke, Nuno Ferreira, Lachand Valentin, Arne Bernin
|
||||||
|
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- Kong Chun Ho, Jonathan Lee, Dominik Rösner, Andreas Frankl
|
||||||
|
- Didier Delhaye, Gianluca Bonato, Ferdinand Ihringer, Mark Dougherty
|
||||||
|
- Топоров Константин, Georges-Mickael Seguin, Jason Grindlay
|
||||||
|
- Gordon Macleod, Anders Jonsson, Peter Estes, Marius Gripsgård,
|
||||||
|
- FoosterNET, Daniel Sandman, David Ault, Matt DeVillier, Chris Leutwyler
|
||||||
|
- Anthony Waxman, Rémi Verschelde, Alessandro Vitali, Katherine Freeman
|
||||||
|
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- Roy Akselsen, Ingrid Becke, Jonathan Lee, Christoph Baldauf
|
||||||
|
- Victor Gabillon, Yves Fourneau, Rubén Leal Coba, Andreas Müller
|
||||||
|
- Santiago Hoyos Zea, Tobias Wenig, Nuno Ferreira, Fran Casal
|
||||||
|
- Alexey Горохов, Luka Vievsky, Nathan Dykhuis, David , David Leschinsky
|
||||||
|
- Sam Tygier, Алексей Казаков, Matthew Golliher
|
||||||
|
- Karl Ove Hufthammer, Richard Stoltenberg, Niklas Anderson, Alfred Turner
|
||||||
|
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- Adrian Spirgi, Frank Abrignani, Lukasz Korpalski, Andea De Angelis
|
||||||
|
- Pedro Freitas Fleck, Lachand Valentin, Cyrille Giquello, FoosterNet
|
||||||
|
- Olivier C. Pageau, Bérenger Ossete Gombe, Michael Schönitzer
|
||||||
|
- Daniel Martínez García, Joe Westcott, Patrik Nilsson, Will Hennegan
|
||||||
|
- Philip Whitfield, Markus Hedetoft, Walt Zwierzycki, Jake Jarrett
|
||||||
|
- Kyle Maggio, Richárd Ráthgéber, Gilles Wittezaele, Daniel Sandman
|
||||||
|
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- Haldor Zaake-Hertling, Elvis Kandler, OPE Beckman Lapre
|
||||||
|
- Esteban Monge Marin, Marcos Schnalke, Maximilian Rüdiger, Glenn Geenen
|
||||||
|
- Michael Biller, Vincent Bermel, John Cordray, Jannik Heller
|
||||||
|
- Vincent Stavleu, Jairo Estefania Vilumbrales, Michal Klaus, Josh Dye
|
||||||
|
- Carlos Solís Róger, James Vandermark, Wouter Reckman, Nuno Ferreira
|
||||||
|
- Crefelean Nicolae, Mark Saliers, Issa Gorissen, Tom Reynolds
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- James Dearing, Collin Blatt, Vincent Bermel, Nuno Ferreira
|
||||||
|
- Jarl Frode Arntzen, Vladimir Tuboltsev, Attila Cseman
|
||||||
|
- Frank Lauterbach, Mahendra Tallur, Matthijs Harmsen, Dietmar Wolf
|
||||||
|
- Suwannee Massage, Fabio Molinari, Christian Ritzer
|
||||||
|
- Gerard Vaas, Edgar Klenske, Georgi Stoychev, Daniel Reimann
|
||||||
|
- Tibor Grasser, Robert Forster, Kelonye Mitchel, Dennis Shewmaker,
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- ProMission Projects, Inc., Ken McCall, Peter Estes, Markus Valkeapää
|
||||||
|
- Victor Gabillon, Franz Schmid, Austin Williamson, Artūras Norkus
|
||||||
|
- Roland Schoof, Borisenkov Alexey, Edvin Djupvik, Mikel Crespo,
|
||||||
|
- Trevor Robertson, Sergej Engbrecht, Dylan Mahoney,
|
||||||
|
- Joel Schaerer, Stephanie Theisz, Mokimoke, George Angelopoulos
|
||||||
|
- Kharlamov Ivan, Cedric Briand, Christoph Baldauf, Marco Caiazza,
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- Volkov Alexandr, Evelyne Tenaerts, Thomas Salmhofer, Ralfe Gomes Ecard
|
||||||
|
- Carlos Alonso Pena Osorio, Philip Delaney, Giorgio Cantoni,
|
||||||
|
- Gabriel Stedtler, Alexander Sauter, Robert Premuž, Antonín Pilát
|
||||||
|
- Sylvain St-Amand, Apostolos Apostolidis, E. Cole, David Ault
|
||||||
|
- Vinzenz Vietzke,Edgar Bennet, Ryan Lei, Sergey Spiridonov
|
||||||
|
- Carsten Carulli, Jeremy Kenny, Francisco Monteagudo, Marlow Marlow
|
||||||
|
|
||||||
|
Donations
|
||||||
|
- Michal Sladek, Peter Lebbing, Roland Schoof, Lars Peter Mathiassen
|
||||||
|
- Benjamin Gronke, Marc Coll, Peter Estes, John Yewell, Josh Dye
|
||||||
|
- Sebastian Rode, OpenGameArt.org, Tux_penguin, Magne Djupvik
|
||||||
|
- Markus Liukka, Phelippeau Rudy, Javier Pedros Cholvi, Michael Roessner
|
||||||
|
- Ivan Wright, Carl Olsson, Sergey V. Spiridonov
|
||||||
|
|
||||||
= Thanks for Playing! =
|
= Thanks for Playing! =
|
||||||
Do not hesitate to contribute!
|
Do not hesitate to contribute!
|
||||||
- Give feedback
|
- Give feedback
|
||||||
|
|||||||
44
data/SuperTuxKart-Info-iOS.plist
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDisplayName</key>
|
||||||
|
<string>SuperTuxKart</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>supertuxkart</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>net.supertuxkart.stkios</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>SuperTuxKart </string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>${PROJECT_VERSION}</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>${IOS_BUILD_VERSION}</string>
|
||||||
|
<key>CSResourcesFileMapped</key>
|
||||||
|
<true/>
|
||||||
|
<key>UIRequiredDeviceCapabilities</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
</array>
|
||||||
|
<key>UILaunchStoryboardName</key>
|
||||||
|
<string>launch_screen</string>
|
||||||
|
<key>UIStatusBarHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>UIRequiresFullScreen</key>
|
||||||
|
<true/>
|
||||||
|
<key>UISupportedInterfaceOrientations</key>
|
||||||
|
<array>
|
||||||
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||||
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||||
|
</array>
|
||||||
|
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||||
|
<array>
|
||||||
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||||
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -17,11 +17,11 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>git</string>
|
<string>${PROJECT_VERSION}</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>SPTK</string>
|
<string>SPTK</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>git</string>
|
<string>${PROJECT_VERSION}</string>
|
||||||
<key>CSResourcesFileMapped</key>
|
<key>CSResourcesFileMapped</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
<goal type="name_of_counter" operation="-"/>
|
<goal type="name_of_counter" operation="-"/>
|
||||||
</goal>
|
</goal>
|
||||||
With the value of operation (+ or -) defining if the subgoal is added
|
With the value of operation (+ or -) defining if the subgoal is added
|
||||||
or substracted from the total.
|
or subtracted from the total.
|
||||||
|
|
||||||
Sub-goals can also have their own sub-goals,
|
Sub-goals can also have their own sub-goals,
|
||||||
however a AND, AND-AT-ONCE or OR can't have a SUM goal for parent.
|
however a AND, AND-AT-ONCE or OR can't have a SUM goal for parent.
|
||||||
|
|||||||
251
data/country_names.csv
Normal file
@@ -0,0 +1,251 @@
|
|||||||
|
country_code;ar;be;bg;br;bs;ca;cs;da;de;el;en;en-AU;en-GB;eo;es;eu;fa;fi;fr;fr-CA;ga;gd;gl;he;hr;hu;ia;id;is;it;ja;jbo;ko;krl;kw;ky;la;lt;lv;mn-MN;nb;nl;nn;oc;os;pl;pms;pt;pt-BR;ro;ru;sc;sco;sk;sl;sq;sr;sv;th;tr;tt;uk;uz;vi;zh-CN;zh-TW
|
||||||
|
AD;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Ανδόρα;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andorre;Andorre;Andóra;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andora;Andorra;Andorra;アンドラ;Andorra;안도라;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andorra;Andora;Andorra;Andorra;Andorra;Andorra;Андорра;Andorra;Andorra;Andorra;Andorra;Andorra;Андора;Andorra;อันดอร์รา;Andorra;Andorra;Andorra;Andorra;Andorra;安道尔;安道爾
|
||||||
|
AE;الإمارات;United Arab Emirates;United Arab Emirates;United Arab Emirates;United Arab Emirates;Unió dels Emirats Àrabs;United Arab Emirates;United Arab Emirates;Vereinigte Arabische Emirate;Ηνωμένα Αραβικά Εμιράτα;United Arab Emirates;United Arab Emirates;United Arab Emirates;United Arab Emirates;Emiratos Árabes Unidos;United Arab Emirates;United Arab Emirates;United Arab Emirates;Emirats Arabes Unis;Emirats Arabes Unis;Aontas na nÉimíríochtaí Arabacha;United Arab Emirates;United Arab Emirates;United Arab Emirates;United Arab Emirates;United Arab Emirates;United Arab Emirates;Uni Emirat Arab;United Arab Emirates;Emirati Arabi Uniti;アラブ首長国連邦;United Arab Emirates;아랍에미리트;United Arab Emirates;United Arab Emirates;United Arab Emirates;United Arab Emirates;United Arab Emirates;United Arab Emirates;United Arab Emirates;United Arab Emirates;Verenigde Arabische Emiraten;United Arab Emirates;United Arab Emirates;United Arab Emirates;Zjednoczone Emiraty Arabskie;United Arab Emirates;Emirados Árabes Unidos;Emirados Árabes Unidos;United Arab Emirates;Объединенные Арабские Эмираты;United Arab Emirates;United Arab Emirates;United Arab Emirates;United Arab Emirates;United Arab Emirates;Уједињени Арапски Емирати;Förenade Arabemiraten;สหรัฐอาหรับเอมิเรตส์;United Arab Emirates;United Arab Emirates;United Arab Emirates;United Arab Emirates;Các Tiểu Vương quốc A-rập Thống nhất;阿拉伯联合酋长国;阿拉伯聯合大公國
|
||||||
|
AF;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afganistan;Afghanistan;Afghanistan;Afghanistan;Αφγανιστάν;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afganistán;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;An Afganastáin;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;アフガニスタン;Afghanistan;아프가니스탄;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afganistan;Afghanistan;Afeganistão;Afeganistão;Afghanistan;Афганистан;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Авганистан;Afghanistan;อัฟกานิสถาน;Afghanistan;Afghanistan;Afghanistan;Afghanistan;Áp-ga-ni-xtan;阿富汗;阿富汗
|
||||||
|
AG;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua und Barbuda;Αντίγκουα και Μπαρμπούντα;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua y Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua et Barbuda;Antigua et Barbuda;Antigua agus Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua dan Barbuda;Antigua and Barbuda;Antigua e Barbuda;アンチグアバーブーダ;Antigua and Barbuda;앤티가 바부다;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua en Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antígua e Barbuda;Antígua e Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua och Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;Antigua and Barbuda;An-ti-gu-a và Ba-bu-đa;安提瓜和巴布达;安地卡及巴布達
|
||||||
|
AI;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Ανγκουίλα;Anguilla;Anguilla;Anguilla;Anguilla;Anguila;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;アンギラ;Anguilla;안길라;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Ангуила;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;อันกิล่า;Anguilla;Anguilla;Anguilla;Anguilla;Anguilla;安圭拉;安圭拉
|
||||||
|
AL;Albania;Albania;Albania;Albania;Albania;Albània;Albania;Albania;Albanien;Αλβανία;Albania;Albania;Albania;Albania;Albania;Albania;Albania;Albania;Albanie;Albanie;An Albáin;Albania;Albania;Albania;Albania;Albania;Albania;Albania;Albania;Albania;アルバニア;Albania;알바니아;Albania;Albania;Albania;Albania;Albania;Albania;Albania;Albania;Albanië;Albania;Albania;Albania;Albania;Albania;Albânia;Albânia;Albania;Албания;Albania;Albania;Albania;Albania;Shqipëria;Албанија;Albanien;แอลเบเนีย;Albania;Albania;Albania;Albania;An-ba-ni;阿尔巴尼亚;阿爾巴尼亞
|
||||||
|
AM;Armenia;Armenia;Armenia;Armenia;Armenia;Armènia;Armenia;Armenia;Armenien;Αρμενία;Armenia;Armenia;Armenia;Armenia;Armenia;Armenia;Armenia;Armenia;Arménie;Arménie;An Airméin;Armenia;Armenia;Armenia;Armenia;Armenia;Armenia;Armenia;Armenia;Armenia;アルメニア;Armenia;아르메니아;Armenia;Armenia;Armenia;Armenia;Armenia;Armenia;Armenia;Armenia;Armenië;Armenia;Armenia;Armenia;Armenia;Armenia;Armênia;Armênia;Armenia;Армения;Armenia;Armenia;Armenia;Armenia;Armenia;Арменија;Armenien;อาร์มีเนีย;Armenia;Armenia;Armenia;Armenia;Ác-mê-ni-a;亚美尼亚;亞美尼亞
|
||||||
|
AN;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Antilles Holandeses;Netherlands Antilles;Netherlands Antilles;Niederländische Antillen;Ολλανδικές Αντίλλες;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Antillas Holandesas;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Antilles Néerlandaises;Antilles Néerlandaises;Antillí na hÍsiltíre;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Antilles Belanda;Netherlands Antilles;Antille Olandesi;オランダ領アンティル諸島;Netherlands Antilles;네덜란드령 안틸레스;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Nederlandse Antillen;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Antyle Holenderskie;Netherlands Antilles;Antilhas Holandesas;Antilhas Holandesas;Netherlands Antilles;Нидерландские Антильские острова;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Холандски Антили;Nederländska Antillerna ;เนเธอร์แลนด์แอนทิลล์;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;Netherlands Antilles;荷属安的列斯群岛;荷屬安替列斯
|
||||||
|
AO;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Ανγκόλα;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angóla;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;アンゴラ;Angola;앙골라;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Angola;Ангола;Angola;Angola;Angola;Angola;Angola;Ангола;Angola;อันโกลา;Angola;Angola;Angola;Angola;Ăng-gô-la;安哥拉;安哥拉
|
||||||
|
AQ;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarktis;Ανταρκτική;Antarctica;Antarctica;Antarctica;Antarctica;Antártida;Antarctica;Antarctica;Antarctica;Antarctique;Antarctique;An Antartaice;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarktika;Antarctica;Antartide;南極;Antarctica;남극;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antártida;Antártida;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarktis;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;Antarctica;南极洲;南極洲
|
||||||
|
AR;Argentina;Argentina;Argentina;Argentina;Argentina;Argentina;Argentina;Argentina;Argentinien;Αργεντινή;Argentina;Argentina;Argentina;Argentina;Argentina;Argentina;Argentina;Argentina;Argentine;Argentine;An Airgintín;Argentina;Argentina;Argentina;Argentina;Argentina;Argentina;Argentina;Argentina;Argentina;アルゼンチン;Argentina;아르헨티나;Argentina;Argentina;Argentina;Argentina;Argentina;Argentina;Argentina;Argentina;Argentinië;Argentina;Argentina;Argentina;Argentyna;Argentina;Argentina;Argentina;Argentina;Аргентина;Argentina;Argentina;Argentina;Argentina;Argentina;Аргентина;Argentina;อาร์เจนติน่า;Argentina;Argentina;Argentina;Argentina;Ác-hen-ti-na;阿根廷;阿根廷
|
||||||
|
AS;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;Amerikanisch-Samoa;Αμερικανική Σαμόα;American Samoa;American Samoa;American Samoa;American Samoa;Samoa Americana;American Samoa;American Samoa;American Samoa;Samoa américaines;Samoa américaines;Samó Meiriceánach;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;Samoa Amerika;American Samoa;Samoa americane;アメリカンサモア;American Samoa;미국령 사모아;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;Amerikaans Samoa;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;Samoa Americana;Samoa Americana;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;Amerikanska Samoa;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;American Samoa;东萨摩亚;美屬薩摩亞
|
||||||
|
AT;Austria;Austria;Austria;Austria;Austria;Âustria;Austria;Austria;Österreich;Αυστρία;Austria;Austria;Austria;Austria;Austria;Austria;Austria;Austria;Autriche;Autriche;An Ostair;Austria;Austria;Austria;Austria;Austria;Austria;Austria;Austria;Austria;オーストリア;Austria;오스트리아;Austria;Austria;Austria;Austria;Austria;Austria;Austria;Austria;Oostenrijk;Austria;Austria;Austria;Austria;Austria;Áustria;Áustria;Austria;Австрия;Austria;Austria;Austria;Austria;Austria;Аустрија;Österrike;ออสเตรีย;Austria;Austria;Austria;Austria;Áo;奥地利;奧地利
|
||||||
|
AU;Australia;Australia;Australia;Australia;Australia;Austràlia;Australia;Australia;Australien;Αυστραλία;Australia;Australia;Australia;Australia;Australia;Australia;Australia;Australia;Australie;Australie;An Astráil;Australia;Australia;Australia;Australia;Australia;Australia;Australia;Australia;Australia;オーストラリア;Australia;오스트레일리아;Australia;Australia;Australia;Australia;Australia;Australia;Australia;Australia;Australië;Australia;Australia;Australia;Australia;Australia;Austrália;Austrália;Australia;Австралия;Australia;Australia;Australia;Australia;Australia;Аустралија;Australien;ออสเตรเลีย;Australia;Australia;Australia;Australia;Úc;澳大利亚;澳大利亞
|
||||||
|
AW;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Αρούμπα;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;アルバ島;Aruba;아루바;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Aruba;Аруба;Aruba;Aruba;Aruba;Aruba;Aruba;Аруба;Aruba;อารูบา;Aruba;Aruba;Aruba;Aruba;Aruba;阿鲁巴;阿路巴
|
||||||
|
AX;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Aaland-Inseln;Νήσοι Aland;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Islas Aland;Åland Islands;Åland Islands;Åland Islands;Îles Åland;Îles Åland;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Isole Aland;オーランド諸島;Åland Islands;올란드 제도;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Alandeilanden;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Ilhas Aland;Ilhas Aland;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Аландска острва;Åland;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;Åland Islands;奥兰群岛;奧蘭群島
|
||||||
|
AZ;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaidjan;Azerbaijan;Azerbaijan;Aserbaidschan;Αζερμπαϊτζάν;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaiyán;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaïdjan;Azerbaïdjan;An Asarbaiseáin;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaigian;アゼルバイジャン;Azerbaijan;아제르바이잔;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbeidzjan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbejdżan;Azerbaijan;Azerbaijão;Azerbaijão;Azerbaijan;Азербайджан;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Азербејџан;Azerbadjan;อาเซอร์ไบจัน;Azerbaijan;Azerbaijan;Azerbaijan;Azerbaijan;Ai-déc-bai-gian;阿塞拜疆;亞塞拜然
|
||||||
|
BA;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bòsnia i Hercegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnien und Herzegowina;Βοσνία - Ερζεγοβίνη;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia y Hercegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnie-Herzégovine;Bosnie-Herzégovine;An Bhoisnia-Heirseagaivéin;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia dan Herzegovina;Bosnia and Herzegovina;Bosnia-Erzegovina;ボスニア・ヘルツェゴビナ;Bosnia and Herzegovina;보스니아 헤르체고비나;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnië en Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bośnia i Hercegowina;Bosnia and Herzegovina;Bósnia-Herzegovina;Bósnia-Herzegovina;Bosnia and Herzegovina;Босния и Герцеговина;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Босна и Херцеговина;Bosnien och Herzegovina;บอสเนีย และ เฮิร์ซโกวิเนีย;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bosnia and Herzegovina;Bô-xni-a Héc-xê-gô-vi-na;波斯尼亚和黑山共和国;波士尼亞赫塞哥維納
|
||||||
|
BB;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Μπαρμπάντος;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbade;Barbade;Barbadós;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;バルバドス;Barbados;바베이도스;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Barbados;Барбадос;Barbados;Barbados;Barbados;Barbados;Barbados;Барбадос;Barbados;บาร์บาดอส;Barbados;Barbados;Barbados;Barbados;Bác-ba-đốt;巴巴多斯;巴貝多
|
||||||
|
BD;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangla Desh;Bangladesh;Bangladesh;Bangladesch;Μπανγκλαντές;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;An Bhanglaidéis;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;バングラデシュ;Bangladesh;방글라데시;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesz;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Бангладеш;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Бангладеш;Bangladesh;บังคลาเทศ;Bangladesh;Bangladesh;Bangladesh;Bangladesh;Băng-la-đét;孟加拉;孟加拉
|
||||||
|
BE;Belgium;Belgium;Belgium;Belgium;Belgium;Bèlgica;Belgium;Belgium;Belgien;Βέλγιο;Belgium;Belgium;Belgium;Belgium;Bélgica;Belgium;Belgium;Belgia;Belgique;Belgique;An Bheilg;Belgium;Belgium;Belgium;Belgium;Belgium;Belgium;Belgia;Belgium;Belgio;ベルギー;Belgium;벨기에;Belgium;Belgium;Belgium;Belgium;Belgium;Belgium;Belgium;Belgium;België;Belgium;Belgium;Belgium;Belgia;Belgium;Bélgica;Bélgica;Belgium;Бельгия;Belgium;Belgium;Belgium;Belgium;Belgium;Белгија;Belgien;เบลเยี่ยม;Belgium;Belgium;Belgium;Belgium;Bỉ;比利时;比利時
|
||||||
|
BF;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Μπουρκίνα Φάσο;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Buircíne Fasó;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;ブルキナファソ;Burkina Faso;부르키나파소;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burquina Faso;Burquina Faso;Burkina Faso;Буркина-Фасо;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Буркина Фасо;Burkina Faso;เบอร์กินาฟาโซ;Burkina Faso;Burkina Faso;Burkina Faso;Burkina Faso;Buốc-ki-na Pha-xô;布基纳法索;布吉納法索
|
||||||
|
BG;Bulgaria;Bulgaria;България;Bulgaria;Bulgaria;Bulgària;Bulgaria;Bulgaria;Bulgarien;Βουλγαρία;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgarie;Bulgarie;An Bhulgáir;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;ブルガリア;Bulgaria;불가리아;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgarije;Bulgaria;Bulgaria;Bulgaria;Bułgaria;Bulgaria;Bulgária;Bulgária;Bulgaria;Болгария;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Бугарска;Bulgarien;บัลแกเรีย;Bulgaria;Bulgaria;Bulgaria;Bulgaria;Bun-ga-ri;保加利亚;保加利亞
|
||||||
|
BH;البحرين;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;Μπαχρέιν;Bahrain;Bahrain;Bahrain;Bahrain;Bahráin;Bahrain;Bahrain;Bahrain;Bahreïn;Bahreïn;Bairéin;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;バーレーン;Bahrain;바레인;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;Bahrein;Bahrain;Bahrain;Bahrain;Bahrajn;Bahrain;Bahrain;Bahrain;Bahrain;Бахрейн;Bahrain;Bahrain;Bahrain;Bahrain;Bahrain;Бахреин;Bahrain;บาห์เรน;Bahrain;Bahrain;Bahrain;Bahrain;Ba-ren;巴林;巴林
|
||||||
|
BI;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Μπουρούντι;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;An Bhurúin;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;ブルンジ;Burundi;부룬디;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Burundi;Бурунди;Burundi;Burundi;Burundi;Burundi;Burundi;Бурунди;Burundi;บูรันดิ;Burundi;Burundi;Burundi;Burundi;Bu-run-đi;布隆迪;浦隆地
|
||||||
|
BJ;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Μπένιν;Benin;Benin;Benin;Benin;Benín;Benin;Benin;Benin;Benin;Benin;Beinin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;ベニン;Benin;베넹;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Benin;Бенин;Benin;Benin;Benin;Benin;Benin;Бенин;Benin;เบนิน;Benin;Benin;Benin;Benin;Bê-nanh;贝宁;貝南
|
||||||
|
BL;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;San Bartolomé;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint-Barthélemy;Saint-Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;サンバルテルミー;Saint Barthélemy;생 바르텔레미;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;São Bartolomeu;São Bartolomeu;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;Saint Barthélemy;圣巴泰勒米岛;聖巴瑟米
|
||||||
|
BM;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Bermudes;Bermuda;Bermuda;Bermuda;Βερμούδες;Bermuda;Bermuda;Bermuda;Bermuda;Bermudas;Bermuda;Bermuda;Bermuda;Bermudes;Bermudes;Beirmiúda;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;バーミューダ諸島;Bermuda;버뮤다;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Bermudy;Bermuda;Bermudas;Bermudas;Bermuda;Бермудские острова;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;Бермуда;Bermuda;เบอร์มิวด้า;Bermuda;Bermuda;Bermuda;Bermuda;Bermuda;百慕大;百慕達
|
||||||
|
BN;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Μπρουνέι Νταρουσαλάμ;Brunei;Brunei;Brunei;Brunei;Brunéi;Brunei;Brunei;Brunei;Brunei;Brunei;Brúiné;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;ブルネイ;Brunei;브루나이;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Brunei;Бруней;Brunei;Brunei;Brunei;Brunei;Brunei;Брунеј;Brunei;บรูไน;Brunei;Brunei;Brunei;Brunei;Bru-nây;文莱;汶萊
|
||||||
|
BO;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolívia;Bolivia;Bolivia;Bolivien;Βολιβία;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivie;Bolivie;An Bholaiv;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;ボリビア;Bolivia;볼리비아;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Boliwia;Bolivia;Bolívia;Bolívia;Bolivia;Боливия;Bolivia;Bolivia;Bolivia;Bolivia;Bolivia;Боливија;Bolivia;โบลิเวีย;Bolivia;Bolivia;Bolivia;Bolivia;Bô-li-vi-a;玻利维亚;玻利維亞
|
||||||
|
BQ;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius und Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, San Eustaquio y Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Saint-Eustache et Saba;Bonaire, Saint-Eustache et Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius e Saba;ボネール、シントユースタティウスおよびサバ;Bonaire, Sint Eustatius and Saba;보네르, 신트유스타티우스, 사바 제도;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Saint Eustatius och Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;Bonaire, Sint Eustatius and Saba;博奈尔岛, 圣尤斯特歇斯岛和萨巴岛;波納爾島、聖艾斯塔得斯島及薩巴島
|
||||||
|
BR;Brazil;Brazil;Brazil;Brazil;Brazil;Brasil;Brazil;Brazil;Brasilien;Βραζιλία;Brazil;Brazil;Brazil;Brazil;Brasil;Brazil;Brazil;Brasilia;Brésil;Brésil;An Bhrasaíl;Brazil;Brazil;Brazil;Brazil;Brazil;Brazil;Brazil;Brazil;Brasile;ブラジル;Brazil;브라질;Brazil;Brazil;Brazil;Brazil;Brazil;Brazil;Brazil;Brazil;Brazilië;Brazil;Brazil;Brazil;Brazylia;Brazil;Brasil;Brasil;Brazil;Бразилия;Brazil;Brazil;Brazil;Brazil;Brazil;Браѕил;Brasilien;บราซิล;Brazil;Brazil;Brazil;Brazil;Bra-xin;巴西;巴西
|
||||||
|
BS;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahames;Bahamas;Bahamas;Bahamas;Μπαχάμες;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Na Bahámaí;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;バハマ;Bahamas;바하마;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Bahama’s;Bahamas;Bahamas;Bahamas;Bahamy;Bahamas;Bahamas;Bahamas;Bahamas;Багамские острова;Bahamas;Bahamas;Bahamas;Bahamas;Bahamas;Бахами;Bahamas;บาฮามาส;Bahamas;Bahamas;Bahamas;Bahamas;Ba-ha-ma;巴哈马;巴哈馬
|
||||||
|
BT;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Μπουτάν;Bhutan;Bhutan;Bhutan;Bhutan;Bután;Bhutan;Bhutan;Bhutan;Bhoutan;Bhoutan;An Bhútáin;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;ブータン;Bhutan;부탄;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Butão;Butão;Bhutan;Бутан;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;Бутан;Bhutan;ภูฐาน;Bhutan;Bhutan;Bhutan;Bhutan;Bhutan;不丹;不丹
|
||||||
|
BV;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet-Insel;Νήσος Μπουβέ;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Isla Bouvet;Bouvet Island;Bouvet Island;Bouvet Island;Île Bouvet;Île Bouvet;Oileáin Bouvet;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Kepulauan Bouvet;Bouvet Island;Isola di Bouvet;ブーベ島;Bouvet Island;부베이 섬;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouveteiland;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Ilha Bouvet;Ilha Bouvet;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Буве;Bouvetön;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;Bouvet Island;布韦岛;布威島
|
||||||
|
BW;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botsuana;Μποτσουάνα;Botswana;Botswana;Botswana;Botswana;Botsuana;Botswana;Botswana;Botswana;Botswana;Botswana;An Bhotsuáin;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;ボツワナ;Botswana;보츠와나;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botswana;Botsuana;Botsuana;Botswana;Ботсвана;Botswana;Botswana;Botswana;Botswana;Botswana;Боцвана;Botswana;บอตสวานา;Botswana;Botswana;Botswana;Botswana;Bốt-xoa-na;博茨瓦纳;波札那
|
||||||
|
BY;Belarus;Беларусь;Belarus;Belarus;Belarus;Bielorússia;Belarus;Belarus;Belarus;Λευκορωσία;Belarus;Belarus;Belarus;Belarus;Bielorrusia;Belarus;Belarus;Belarus;Biélo-Russie;Biélo-Russie;An Bhealarúis;Belarus;Belarus;Belarus;Belarus;Belarus;Belarus;Belarusia;Belarus;Bielorussia;ベラルーシ;Belarus;벨라루스;Belarus;Belarus;Belarus;Belarus;Belarus;Belarus;Belarus;Belarus;Wit-Rusland;Belarus;Belarus;Belarus;Białoruś;Belarus;Belarus;Belarus;Belarus;Беларусь;Belarus;Belarus;Belarus;Belarus;Belarus;Белорусија;Vitryssland;เบลลารัส;Belarus;Belarus;Belarus;Belarus;Bê-la-rút;白俄罗斯;白俄羅斯
|
||||||
|
BZ;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Μπελίζ;Belize;Belize;Belize;Belize;Belice;Belize;Belize;Belize;Bélize;Bélize;An Bheilís;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;ベリーズ;Belize;벨리즈;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Belize;Белиз;Belize;Belize;Belize;Belize;Belize;Белисе;Belize;เบลิซ;Belize;Belize;Belize;Belize;Bê-li-xê;伯里兹;貝里斯
|
||||||
|
CA;Canada;Canada;Canada;Canada;Canada;Canadà;Canada;Canada;Kanada;Καναδάς;Canada;Canada;Canada;Canada;Canadá;Canada;Canada;Kanada;Canada;Canada;Ceanada;Canada;Canada;Canada;Canada;Canada;Canada;Kanada;Canada;Canada;カナダ;Canada;캐나다;Canada;Canada;Canada;Canada;Canada;Canada;Canada;Canada;Canada;Canada;Canada;Canada;Kanada;Canada;Canadá;Canadá;Canada;Канада;Canada;Canada;Canada;Canada;Canada;Канада;Kanada;แคนาดา;Canada;Canada;Canada;Canada;Ca-na-đa;加拿大;加拿大
|
||||||
|
CC;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Kokos-Inseln;Νήσοι Κόκος (Κήλινγκ);Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Islas Cocos;Cocos Islands;Cocos Islands;Cocos Islands;Îles Cocos;Îles Cocos;Oileáin Cocos (Keeling);Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Kepulauan Cocos;Cocos Islands;Isole Cocos;ココス諸島;Cocos Islands;코코스 군도;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocoseilanden;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Ilhas Coco;Ilhas Coco;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Кокосова Острва;Cocosöarna;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;Cocos Islands;科库斯群岛;可可斯群島
|
||||||
|
CD;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;Demokratische Republik Kongo;Κονγκό, Λαϊκή Δημοκρατία του;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;República Democrática del Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;République démocratique du Congo;République démocratique du Congo;Poblacht Dhaonlathach an Chongó;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;Republik Demokratik Kongo;The Democratic Republic Of Congo;Repubblica democratica del Congo;コンゴ民主共和国;The Democratic Republic Of Congo;콩고 민주 공화국;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;Congo-Kinshasa;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;Congo-Kinshasa;Congo-Kinshasa;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;Демократска република Конго;Demokratiska republiken Kongo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;The Democratic Republic Of Congo;刚果民主共和国;剛果民主共和國
|
||||||
|
CF;Central African Republic;Central African Republic;Central African Republic;Central African Republic;Central African Republic;República Centrafricana;Central African Republic;Central African Republic;Zentralafrikanische Republik;Κεντροαφρικανική Δημοκρατία;Central African Republic;Central African Republic;Central African Republic;Central African Republic;República Centroafricana;Central African Republic;Central African Republic;Central African Republic;République Centre-Africaine;République Centre-Africaine;Poblacht na hAfraice Láir;Central African Republic;Central African Republic;Central African Republic;Central African Republic;Central African Republic;Central African Republic;Republik Afrika Tengah;Central African Republic;Repubblica Centrafricana;中央アフリカ共和国;Central African Republic;중앙 아프리카;Central African Republic;Central African Republic;Central African Republic;Central African Republic;Central African Republic;Central African Republic;Central African Republic;Central African Republic;Centraal-Afrikaanse Republiek;Central African Republic;Central African Republic;Central African Republic;Republika Środkowoafrykańska;Central African Republic;República Centro-Africana;República Centro-Africana;Central African Republic;Центральноафриканская Республика;Central African Republic;Central African Republic;Central African Republic;Central African Republic;Central African Republic;Централно Афричка Република;Centralafrikanska republiken;สาธารณรัฐแอฟริกากลาง;Central African Republic;Central African Republic;Central African Republic;Central African Republic;Cộng hòa Trung Phi;中非共和国;中非
|
||||||
|
CG;Congo;Congo;Congo;Congo;Congo;Congo;Congo;Congo;Kongo;Κονγκό;Congo;Congo;Congo;Congo;Congo;Congo;Congo;Congo;Congo;Congo;An Congó;Congo;Congo;Congo;Congo;Congo;Congo;Kongo;Congo;Congo;コンゴ;Congo;콩고;Congo;Congo;Congo;Congo;Congo;Congo;Congo;Congo;Congo;Congo;Congo;Congo;Kongo;Congo;Congo - Brazzaville;Congo - Brazzaville;Congo;Конго;Congo;Congo;Congo;Congo;Congo;Конго;Kongo;คองโก;Congo;Congo;Congo;Congo;Công-gô;刚果;剛果
|
||||||
|
CH;Switzerland;Switzerland;Switzerland;Switzerland;Switzerland;Switzerland;Switzerland;Switzerland;Schweiz;Ελβετία;Switzerland;Switzerland;Switzerland;Switzerland;Suiza;Switzerland;Switzerland;Sveitsi;Suisse;Suisse;An Eilvéis;Switzerland;Switzerland;Switzerland;Switzerland;Switzerland;Switzerland;Swiss;Switzerland;Svizzera;スイス;Switzerland;스위스;Switzerland;Switzerland;Switzerland;Switzerland;Switzerland;Switzerland;Switzerland;Switzerland;Zwitserland;Switzerland;Switzerland;Switzerland;Szwajcaria;Switzerland;Suíça;Suíça;Switzerland;Швейцария;Switzerland;Switzerland;Switzerland;Switzerland;Switzerland;Швајцарска;Schweiz;สวิสเซอร์แลนด์;Switzerland;Switzerland;Switzerland;Switzerland;Thụy Sĩ;瑞士;瑞士
|
||||||
|
CI;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Costa d'Ivori;Côte d'Ivoire;Côte d'Ivoire;Elfenbeinküste;Ακτή Ελεφαντόδοντος;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Costa de Marfil;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;An Cósta Eabhair;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Pantai Gading;Côte d'Ivoire;Costa d'Avorio;コートジボアール;Côte d'Ivoire;코트디부와르;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Ivoorkust;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Wybrzeże Kości Słoniowej;Côte d'Ivoire;Costa do Marfim;Costa do Marfim;Côte d'Ivoire;Кот-д'Ивуар;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Обала Слоноваче;Elfenbenskusten;ฝั่งทะเลไอวอริ;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Côte d'Ivoire;Bờ Biển Ngà;象牙海岸;象牙海岸
|
||||||
|
CK;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook-Inseln;Νήσοι Κουκ;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Islas Cook;Cook Islands;Cook Islands;Cook Islands;Îles Cook;Îles Cook;Oileáin Cook;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Kepulauan Cook;Cook Islands;Isole Cook;クック諸島;Cook Islands;쿡 제도;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cookeilanden;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Ilhas Cook;Ilhas Cook;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cooköarna;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;Cook Islands;库克群岛;庫克群島
|
||||||
|
CL;Chile;Chile;Chile;Chile;Chile;Xile;Chile;Chile;Chile;Χιλή;Chile;Chile;Chile;Chile;Chile;Chile;Chile;Chile;Chili;Chili;An tSile;Chile;Chile;Chile;Chile;Chile;Chile;Chili;Chile;Cile;チリ;Chile;칠레;Chile;Chile;Chile;Chile;Chile;Chile;Chile;Chile;Chili;Chile;Chile;Chile;Chile;Chile;Chile;Chile;Chile;Чили;Chile;Chile;Chile;Chile;Chile;Чиле;Chile;ชิลี;Chile;Chile;Chile;Chile;Chi-lê;智利;智利
|
||||||
|
CM;Cameroon;Cameroon;Cameroon;Cameroon;Cameroon;Camerun;Cameroon;Cameroon;Kamerun;Καμερούν;Cameroon;Cameroon;Cameroon;Cameroon;Camerún;Cameroon;Cameroon;Cameroon;Cameroun;Cameroun;Camarún;Cameroon;Cameroon;Cameroon;Cameroon;Cameroon;Cameroon;Kamerun;Cameroon;Camerun;カメルーン;Cameroon;카메룬;Cameroon;Cameroon;Cameroon;Cameroon;Cameroon;Cameroon;Cameroon;Cameroon;Kameroen;Cameroon;Cameroon;Cameroon;Kamerun;Cameroon;República dos Camarões;República dos Camarões;Cameroon;Камерун;Cameroon;Cameroon;Cameroon;Cameroon;Cameroon;Камерун;Kamerun;คาเมรูน;Cameroon;Cameroon;Cameroon;Cameroon;Ca-mơ-run;喀麦隆;喀麥隆
|
||||||
|
CN;China;China;China;China;China;Xina;China;China;China;Κίνα;China;China;China;China;China;China;China;Kiina;Chine;Chine;An tSín;China;China;China;China;China;China;Cina;China;Cina;中華人民共和国;China;중국;China;China;China;China;China;China;China;China;China;China;China;China;Chiny;China;China;China;China;Китай;China;China;China;China;China;Кина;Kina;จีน;China;China;China;China;Trung Quốc;中国;中國
|
||||||
|
CO;Colombia;Colombia;Colombia;Colombia;Colombia;Colòmbia;Colombia;Colombia;Kolumbien;Κολομβία;Colombia;Colombia;Colombia;Colombia;Colombia;Colombia;Colombia;Colombia;Colombie;Colombie;An Cholóim;Colombia;Colombia;Colombia;Colombia;Colombia;Colombia;Kolombia;Colombia;Colombia;コロンビア;Colombia;콜롬비아;Colombia;Colombia;Colombia;Colombia;Colombia;Colombia;Colombia;Colombia;Colombia;Colombia;Colombia;Colombia;Kolumbia;Colombia;Colômbia;Colômbia;Colombia;Колумбия;Colombia;Colombia;Colombia;Colombia;Colombia;Колумбија;Colombia;โคลัมเบีย;Colombia;Colombia;Colombia;Colombia;Cô-lôm-bi-a;哥伦比亚;哥倫比亞
|
||||||
|
CR;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Κόστα Ρίκα;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Cósta Ríce;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Kosta Rika;Costa Rica;Costa Rica;コスタリカ;Costa Rica;코스타리카;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Kostaryka;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Коста-Рика;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Костарика;Costa Rica;คอสตาริก้า;Costa Rica;Costa Rica;Costa Rica;Costa Rica;Cốt-xta Ri-ca;哥斯达黎加;哥斯大黎加
|
||||||
|
CU;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Kuba;Κούβα;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Cúba;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Kuba;Cuba;Cuba;キューバ;Cuba;쿠바;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Cuba;Kuba;Cuba;Cuba;Cuba;Cuba;Куба;Cuba;Cuba;Cuba;Cuba;Cuba;Куба;Kuba;คิวบา;Cuba;Cuba;Cuba;Cuba;Cu Ba;古巴;古巴
|
||||||
|
CV;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Cap Verd;Cape Verde;Cape Verde;Kap Verde;Νήσοι Πράσινου Ακρωτηρίου;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Cabo Verde;Cape Verde;Cape Verde;Cape Verde;Cap Vert;Cap Vert;Rinn Verde;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Tanjung Verde;Cape Verde;Capo Verde;カーボベルデ;Cape Verde;까뽀베르데;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Kaapverdië;Cape Verde;Cape Verde;Cape Verde;Republika Zielonego Przylądka;Cape Verde;Cabo Verde;Cabo Verde;Cape Verde;Зеленый Мыс;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Капе Верде;Kap Verde;เคพเวอร์ด;Cape Verde;Cape Verde;Cape Verde;Cape Verde;Cáp-ve;佛得角;維德角
|
||||||
|
CW;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;キュラソー;Curaçao;퀴라소;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;Curaçao;库拉索岛;古拉果
|
||||||
|
CX;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Weihnachtsinsel;Νήσος Χριστουγέννων;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Isla Christmas;Christmas Island;Christmas Island;Christmas Island;Île Christmas;Île Christmas;Oileán na Nollag;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Pulau Christmas;Christmas Island;Isola di Natale;クリスマス島;Christmas Island;크리스마스 섬;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmaseiland;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Ilhas Natal;Ilhas Natal;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Божићно Острво;Julön;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;Christmas Island;圣诞岛;聖誕島
|
||||||
|
CY;Cyprus;Cyprus;Cyprus;Cyprus;Cyprus;Xipre;Cyprus;Cyprus;Zypern;Κύπρος;Cyprus;Cyprus;Cyprus;Cyprus;Chipre;Cyprus;Cyprus;Cyprus;Chypre;Chypre;An Chipir;Cyprus;Cyprus;Cyprus;Cyprus;Cyprus;Cyprus;Siprus;Cyprus;Cipro;キプロス;Cyprus;사이프러스;Cyprus;Cyprus;Cyprus;Cyprus;Cyprus;Cyprus;Cyprus;Cyprus;Cyprus;Cyprus;Cyprus;Cyprus;Cypr;Cyprus;Chipre;Chipre;Cyprus;Кипр;Cyprus;Cyprus;Cyprus;Cyprus;Cyprus;Кипар;Cypern;ไซปรัส;Cyprus;Cyprus;Cyprus;Cyprus;Síp;塞浦路斯;賽普勒斯
|
||||||
|
CZ;Czech Republic;Czech Republic;Czech Republic;Czech Republic;Czech Republic;República Txeca;Česká republika;Czech Republic;Tschechische Republik;Τσεχία;Czech Republic;Czech Republic;Czech Republic;Czech Republic;Chequia;Czech Republic;Czech Republic;Tsekin tasavalta;République Tchèque;République Tchèque;Poblacht na Seice;Czech Republic;Czech Republic;Czech Republic;Czech Republic;Czech Republic;Czech Republic;Republik Ceko;Czech Republic;Repubblica Ceca;チェコ;Czech Republic;체코;Czech Republic;Czech Republic;Czech Republic;Czech Republic;Czech Republic;Czech Republic;Czech Republic;Czech Republic;Tsjechië;Czech Republic;Czech Republic;Czech Republic;Republika Czeska;Czech Republic;República Tcheca;República Tcheca;Czech Republic;Чехия;Czech Republic;Czech Republic;Czech Republic;Czech Republic;Czech Republic;Чешка;Tjeckiska republiken;สาธารณรัฐเช็ค;Czech Republic;Czech Republic;Czech Republic;Czech Republic;Cộng hòa Séc;捷克共和国;捷克共和國
|
||||||
|
DE;Germany;Germany;Germany;Germany;Germany;Alemanya;Germany;Germany;Deutschland;Γερμανία;Germany;Germany;Germany;Germany;Alemania;Germany;Germany;Saksa;Allemagne;Allemagne;An Ghearmáin;Germany;Germany;Germany;Germany;Germany;Germany;Jerman;Germany;Germania;ドイツ;Germany;독일;Germany;Germany;Germany;Germany;Germany;Germany;Germany;Germany;Duitsland;Germany;Germany;Germany;Niemcy;Germany;Alemanha;Alemanha;Germany;Германия;Germany;Germany;Germany;Germany;Germany;Немачка;Tyskland;เยอรมนี;Germany;Germany;Germany;Germany;Đức;德国;德國
|
||||||
|
DJ;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Dschibuti;Τζιμπουτί;Djibouti;Djibouti;Djibouti;Djibouti;Yibuti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Jibouti;Djibouti;Gibuti;ジブチ;Djibouti;지부티;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Dżibuti;Djibouti;Djibuti;Djibuti;Djibouti;Джибути;Djibouti;Djibouti;Djibouti;Djibouti;Djibouti;Џибути;Djibouti;ดิโบติ;Djibouti;Djibouti;Djibouti;Djibouti;Gi-bu-ti;吉布提;吉布地
|
||||||
|
DK;Denmark;Denmark;Denmark;Denmark;Denmark;Dinamarca;Denmark;Danmark;Dänemark;Δανία;Denmark;Denmark;Denmark;Denmark;Dinamarca;Denmark;Denmark;Tanska;Danemark;Danemark;An Danmhairg;Denmark;Denmark;Denmark;Denmark;Denmark;Denmark;Denmark;Denmark;Danimarca;デンマーク;Denmark;덴마크;Denmark;Denmark;Denmark;Denmark;Denmark;Denmark;Denmark;Denmark;Denemarken;Denmark;Denmark;Denmark;Dania;Denmark;Dinamarca;Dinamarca;Denmark;Дания;Denmark;Denmark;Denmark;Denmark;Denmark;Данска;Danmark;เดนมาร์ก;Denmark;Denmark;Denmark;Denmark;Đan Mạch;丹麦;丹麥
|
||||||
|
DM;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Ντομίνικα;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominique;Dominique;Doiminice;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominika;Dominica;Dominica;ドミニカ国;Dominica;도미니카;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominica;Dominika;Dominica;Dominica;Dominica;Dominica;Доминика;Dominica;Dominica;Dominica;Dominica;Dominica;Доминика;Dominica;โดมินิก้า;Dominica;Dominica;Dominica;Dominica;Dominica;多米尼加联邦;多米尼克
|
||||||
|
DO;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;República Dominicana;Dominican Republic;Dominican Republic;Dominikanische Republik;Δομινικανή Δημοκρατία;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;República Dominicana;Dominican Republic;Dominican Republic;Dominican Republic;République Dominicaine;République Dominicaine;An Phoblacht Dhoiminiceach;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;Republik Dominika;Dominican Republic;Repubblica Dominicana;ドミニカ共和国;Dominican Republic;도미니카 공화국;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;Dominicaanse Republiek;Dominican Republic;Dominican Republic;Dominican Republic;Republika Dominikany;Dominican Republic;República Dominicana;República Dominicana;Dominican Republic;Доминиканская Республика;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;Доминиканска Република;Dominikanska republiken;สาธารณรัฐโดมินิกัน;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;Dominican Republic;多米尼加共和国;多明尼加
|
||||||
|
DZ;الجزائر;Algeria;Algeria;Algeria;Algeria;Algèria;Algeria;Algeria;Algerien;Αλγερία;Algeria;Algeria;Algeria;Algeria;Argelia;Algeria;Algeria;Algeria;Algérie;Algérie;An Ailgéir;Algeria;Algeria;Algeria;Algeria;Algeria;Algeria;Algeria;Algeria;Algeria;アルジェリア;Algeria;알제리;Algeria;Algeria;Algeria;Algeria;Algeria;Algeria;Algeria;Algeria;Algerije;Algeria;Algeria;Algeria;Algeria;Algeria;Argélia;Argélia;Algeria;Алжир;Algeria;Algeria;Algeria;Algeria;Algeria;Алжир;Algeriet;แอลจีเรีย;Algeria;Algeria;Algeria;Algeria;An-giê-ri;阿尔及利亚;阿爾及利
|
||||||
|
EC;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Equador;Ecuador;Ecuador;Ecuador;Ισημερινός;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Equateur;Equateur;Eacuadór;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Ekuador;Ecuador;Ecuador;エクアドル;Ecuador;에쿠아도르;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Ekwador;Ecuador;Equador;Equador;Ecuador;Эквадор;Ecuador;Ecuador;Ecuador;Ecuador;Ecuador;Еквадор;Ecuador;เอกวาดอร์;Ecuador;Ecuador;Ecuador;Ecuador;Ê-cu-a-đo;厄瓜多尔;厄瓜多爾
|
||||||
|
EE;Estonia;Estonia;Estonia;Estonia;Estonia;Estònia;Estonia;Estonia;Estland;Εσθονία;Estonia;Estonia;Estonia;Estonia;Estonia;Estonia;Estonia;Estonia;Estonie;Estonie;An Eastóin;Estonia;Estonia;Estonia;Estonia;Estonia;Estonia;Estonia;Estonia;Estonia;エストニア;Estonia;에스토니아;Estonia;Estonia;Estonia;Estonia;Estonia;Estonia;Estonia;Estonia;Estland;Estonia;Estonia;Estonia;Estonia;Estonia;Estônia;Estônia;Estonia;Эстония;Estonia;Estonia;Estonia;Estonia;Estonia;Естонија;Estland;เอสโตเนีย;Estonia;Estonia;Estonia;Estonia;E-xtô-ni-a;爱沙尼亚;愛沙尼亞
|
||||||
|
EG;مصر;Egypt;Egypt;Egypt;Egypt;Egipte;Egypt;Egypt;Ägypten;Αίγυπτος;Egypt;Egypt;Egypt;Egypt;Egipto;Egypt;Egypt;Egypt;Egypte;Egypte;An Éigipt;Egypt;Egypt;Egypt;Egypt;Egypt;Egypt;Mesir;Egypt;Egitto;エジプト;Egypt;이집트;Egypt;Egypt;Egypt;Egypt;Egypt;Egypt;Egypt;Egypt;Egypte;Egypt;Egypt;Egypt;Egipt;Egypt;Egito;Egito;Egypt;Египт;Egypt;Egypt;Egypt;Egypt;Egypt;Египат;Egypten;อียิปต์;Egypt;Egypt;Egypt;Egypt;Ai Cập;埃及;埃及
|
||||||
|
EH;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Sàhara Occidental;Western Sahara;Western Sahara;Westsahara;Δυτική Σαχάρα;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Sahara Occidental;Western Sahara;Western Sahara;Western Sahara;Sahara Occidental;Sahara Occidental;An Sahára Thiar;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Sahara Barat;Western Sahara;Sahara Occidentale;西サハラ;Western Sahara;서사하라;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Westelijke Sahara;Western Sahara;Western Sahara;Western Sahara;Sahara Zachodnia;Western Sahara;Saara Ocidental;Saara Ocidental;Western Sahara;Западная Сахара;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Западна Сахара;Västra Sahara;ซาฮาร่าตะวันตก;Western Sahara;Western Sahara;Western Sahara;Western Sahara;Tây Sahara;西撒哈拉;西撒哈拉沙漠
|
||||||
|
ER;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Ερυθραία;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Erythrée;Erythrée;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;エリトリア;Eritrea;에리트리아;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Erytrea;Eritrea;Eritreia;Eritreia;Eritrea;Эритрея;Eritrea;Eritrea;Eritrea;Eritrea;Eritrea;Еритреја;Eritrea;อิริทรี;Eritrea;Eritrea;Eritrea;Eritrea;Ê-ri-tơ-rê-a;厄里特尼亚;厄利垂亞
|
||||||
|
ES;Spain;Spain;Spain;Spain;Spain;Espanya;Spain;Spain;Spanien;Ισπανία;Spain;Spain;Spain;Spain;España;Spain;Spain;Espanja;Espagne;Espagne;An Spáinn;Spain;Spain;Spain;Spain;Spain;Spain;Spanyol;Spain;Spagna;スペイン;Spain;스페인;Spain;Spain;Spain;Spain;Spain;Spain;Spain;Spain;Spanje;Spain;Spain;Spain;Hiszpania;Spain;Espanha;Espanha;Spain;Испания;Spain;Spain;Spain;Spain;Spain;Шпанија;Spanien;สเปน;Spain;Spain;Spain;Spain;Tây Ban Nha;西班牙;西班牙
|
||||||
|
ET;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Etiòpia;Ethiopia;Ethiopia;Äthiopien;Αιθιοπία;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Etiopía;Ethiopia;Ethiopia;Ethiopia;Ethiopie;Ethiopie;An Aetóip;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Etiopia;エチオピア;Ethiopia;이디오피아;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Ethiopië;Ethiopia;Ethiopia;Ethiopia;Etiopia;Ethiopia;Etiópia;Etiópia;Ethiopia;Эфиопия;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Етиопија;Etiopien;เอธิโอเปีย;Ethiopia;Ethiopia;Ethiopia;Ethiopia;Ê-ti-ô-pi-a;埃塞俄比亚;衣索比亞
|
||||||
|
FI;Finland;Finland;Finland;Finland;Finland;Finlàndia;Finland;Finland;Finnland;Φινλανδία;Finland;Finland;Finland;Finland;Finlandia;Finland;Finland;Suomi;Finlande;Finlande;An Fhionlainn;Finland;Finland;Finland;Finland;Finland;Finland;Finlandia;Finland;Finlandia;フィンランド;Finland;핀란드;Finland;Finland;Finland;Finland;Finland;Finland;Finland;Finland;Finland;Finland;Finland;Finland;Finlandia;Finland;Finlândia;Finlândia;Finland;Финляндия;Finland;Finland;Finland;Finland;Finland;Финска;Finland;ฟินแลนด์;Finland;Finland;Finland;Finland;Phần Lan;芬兰;芬蘭
|
||||||
|
FJ;Fiji;Fiji;Fiji;Fiji;Fiji;Fiji;Fiji;Fiji;Fidschi;Φίτζι;Fiji;Fiji;Fiji;Fiji;Fiyi;Fiji;Fiji;Fiji;Fidji;Fidji;Fidsí;Fiji;Fiji;Fiji;Fiji;Fiji;Fiji;Fiji;Fiji;Figi;フィジー;Fiji;피지;Fiji;Fiji;Fiji;Fiji;Fiji;Fiji;Fiji;Fiji;Fiji;Fiji;Fiji;Fiji;Fidżi;Fiji;Fiji;Fiji;Fiji;Фиджи;Fiji;Fiji;Fiji;Fiji;Fiji;Фиџи;Fiji;ฟิจิ;Fiji;Fiji;Fiji;Fiji;Phi-gi;斐济;斐濟
|
||||||
|
FK;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland-Inseln;Νήσοι Φώκλαντ;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Islas Malvinas;Falkland Islands;Falkland Islands;Falkland Islands;Îles Malouines;Îles Malouines;Oileáin Fháclainne;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Kepulauan Falkland;Falkland Islands;Isole Falkland;フォークランド諸島;Falkland Islands;포클랜드 제도;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falklandeilanden;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Ilhas Malvinas;Ilhas Malvinas;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Фолкландска Острва;Falklandsöarna;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;Falkland Islands;富克兰群岛;福克蘭群島
|
||||||
|
FM;Micronesia;Micronesia;Micronesia;Micronesia;Micronesia;Micronèsia;Micronesia;Micronesia;Mikronesien;Μικρονησία, Ομόσπονδες Πολιτείες της;Micronesia;Micronesia;Micronesia;Micronesia;Micronesia;Micronesia;Micronesia;Micronesia;Micronésie;Micronésie;An Mhicrinéis;Micronesia;Micronesia;Micronesia;Micronesia;Micronesia;Micronesia;Mikronesia;Micronesia;Micronesia;ミクロネシア;Micronesia;마이크로네시아;Micronesia;Micronesia;Micronesia;Micronesia;Micronesia;Micronesia;Micronesia;Micronesia;Micronesië;Micronesia;Micronesia;Micronesia;Mikronezja;Micronesia;Micronésia;Micronésia;Micronesia;Микронезия;Micronesia;Micronesia;Micronesia;Micronesia;Micronesia;Микронезија;Mikronesien;ไมโครนิเซีย;Micronesia;Micronesia;Micronesia;Micronesia;Mi-crô-nê-xi-a;密克罗尼西亚;密克羅尼西亞聯邦
|
||||||
|
FO;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Färöer-Inseln;Νήσοι Φερόες;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Islas Feroe;Faroe Islands;Faroe Islands;Faroe Islands;Îles Féroé;Îles Féroé;Oileáin Fharó;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Kepulauan Faroe;Faroe Islands;Isole Færoer;フェロー諸島;Faroe Islands;페로 제도;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faeröer;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Ilhas Faroe;Ilhas Faroe;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Фарска Острва;Färöarna;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;Faroe Islands;法罗群岛;法魯群島
|
||||||
|
FR;France;France;France;France;France;França;France;France;Frankreich;Γαλλία;France;France;France;France;Francia;France;France;Ranska;France;France;An Fhrainc;France;France;France;France;France;France;Perancis;France;Francia;フランス;France;프랑스;France;France;France;France;France;France;France;France;Frankrijk;France;France;France;Francja;France;França;França;France;Франция;France;France;France;France;France;Француска;Frankrike;ฝรั่งเศส;France;France;France;France;Pháp;法国;法國
|
||||||
|
GA;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabun;Γκαμπόν;Gabon;Gabon;Gabon;Gabon;Gabón;Gabon;Gabon;Gabon;Gabon;Gabon;An Ghabúin;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;ガボン;Gabon;가봉;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabon;Gabão;Gabão;Gabon;Габон;Gabon;Gabon;Gabon;Gabon;Gabon;Габон;Gabon;กาบอน;Gabon;Gabon;Gabon;Gabon;Ga-bông;加蓬;加彭
|
||||||
|
GB;United Kingdom;United Kingdom;United Kingdom;United Kingdom;United Kingdom;Regne Unit;United Kingdom;United Kingdom;Vereinigtes Königreich;Ηνωμένο Βασίλειο;United Kingdom;United Kingdom;United Kingdom;United Kingdom;Reino Unido;United Kingdom;United Kingdom;Iso-Britannia;Royaume-Uni;Royaume-Uni;An Ríocht Aontaithe;United Kingdom;United Kingdom;United Kingdom;United Kingdom;United Kingdom;United Kingdom;Inggris Raya;United Kingdom;Regno Unito;イギリス;United Kingdom;영국;United Kingdom;United Kingdom;United Kingdom;United Kingdom;United Kingdom;United Kingdom;United Kingdom;United Kingdom;Verenigd Koninkrijk;United Kingdom;United Kingdom;United Kingdom;Wielka Brytania;United Kingdom;Reino Unido;Reino Unido;United Kingdom;Соединенное Королевство;United Kingdom;United Kingdom;United Kingdom;United Kingdom;United Kingdom;Велика Британија;Storbritannien;สหราชอาณาจักร;United Kingdom;United Kingdom;United Kingdom;United Kingdom;Vương quốc Anh;英国;英國
|
||||||
|
GD;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Γρενάδα;Grenada;Grenada;Grenada;Grenada;Granada;Grenada;Grenada;Grenada;Grenade;Grenade;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;グレナダ;Grenada;그레나다;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Granada;Granada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Гренада;Grenada;Grenada;Grenada;Grenada;Grenada;Grenada;Grê-na-đa;格林纳达;格瑞那達
|
||||||
|
GE;Georgia;Georgia;Georgia;Georgia;Georgia;Geòrgia;Georgia;Georgia;Georgien;Γεωργία;Georgia;Georgia;Georgia;Georgia;Georgia;Georgia;Georgia;Georgia;Géorgie;Géorgie;An tSeoirsia;Georgia;Georgia;Georgia;Georgia;Georgia;Georgia;Georgia;Georgia;Georgia;グルジア;Georgia;그루지야;Georgia;Georgia;Georgia;Georgia;Georgia;Georgia;Georgia;Georgia;Georgië;Georgia;Georgia;Georgia;Gruzja;Georgia;Geórgia;Geórgia;Georgia;Грузия;Georgia;Georgia;Georgia;Georgia;Georgia;Грузија;Georgien;จอร์เจีย;Georgia;Georgia;Georgia;Georgia;Gru-di-a;格鲁吉亚;喬治亞
|
||||||
|
GF;French Guiana;French Guiana;French Guiana;French Guiana;French Guiana;Guaiana Francesa;French Guiana;French Guiana;Französisch-Guayana;Γαλλική Γουιάνα;French Guiana;French Guiana;French Guiana;French Guiana;Guayana Francesa;French Guiana;French Guiana;French Guiana;Guyane française;Guyane française;An Ghuáin Fhrancach;French Guiana;French Guiana;French Guiana;French Guiana;French Guiana;French Guiana;Guyana Perancis;French Guiana;Guayana Francese;仏領ギアナ;French Guiana;프랑스령 기아나;French Guiana;French Guiana;French Guiana;French Guiana;French Guiana;French Guiana;French Guiana;French Guiana;Frans-Guyana;French Guiana;French Guiana;French Guiana;Gujana Francuska;French Guiana;Guiana Francesa;Guiana Francesa;French Guiana;Французская Гвинея;French Guiana;French Guiana;French Guiana;French Guiana;French Guiana;Француска Гвајана;Franska Guyana;เฟร็นชกิวน่า;French Guiana;French Guiana;French Guiana;French Guiana;French Guiana;法属圭亚那;法屬蓋亞納
|
||||||
|
GG;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernesey;Guernesey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;ガーンジー;Guernsey;건지;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;Guernsey;格恩西岛;根西島
|
||||||
|
GH;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Γκάνα;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Gána;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;ガーナ;Ghana;가나;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Ghana;Gana;Gana;Ghana;Гана;Ghana;Ghana;Ghana;Ghana;Ghana;Гана;Ghana;กาน่า;Ghana;Ghana;Ghana;Ghana;Gha-na;加纳;迦納
|
||||||
|
GI;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Γιβραλτάρ;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Giobráltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibilterra;ジブラルタル;Gibraltar;지브롤터;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Гибралтар;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;Gibraltar;直布罗陀;直布羅陀
|
||||||
|
GL;Greenland;Greenland;Greenland;Greenland;Greenland;Greenland;Greenland;Greenland;Grönland;Γροιλανδία;Greenland;Greenland;Greenland;Greenland;Groenlandia;Greenland;Greenland;Greenland;Groenland;Groenland;An Ghraonlainn;Greenland;Greenland;Greenland;Greenland;Greenland;Greenland;Greenland;Greenland;Groenlandia;グリーンランド;Greenland;그린랜드;Greenland;Greenland;Greenland;Greenland;Greenland;Greenland;Greenland;Greenland;Groenland;Greenland;Greenland;Greenland;Greenland;Greenland;Groênlandia;Groênlandia;Greenland;Greenland;Greenland;Greenland;Greenland;Greenland;Greenland;Гренланд;Grönland;Greenland;Greenland;Greenland;Greenland;Greenland;Greenland;格陵兰;格陵蘭
|
||||||
|
GM;Gambia;Gambia;Gambia;Gambia;Gambia;Gàmbia;Gambia;Gambia;Gambia;Γκάμπια;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambie;Gambie;An Ghaimbia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;ガンビア;Gambia;감비아;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gambia;Gâmbia;Gâmbia;Gambia;Гамбия;Gambia;Gambia;Gambia;Gambia;Gambia;Гамбија;Gambia;แกมเบีย;Gambia;Gambia;Gambia;Gambia;Găm-bi-a;冈比亚;甘比亞
|
||||||
|
GN;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;Γουινέα;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;Guinée;Guinée;An Ghuine;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;ギニア;Guinea;기니;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;Guinea;Guinee;Guinea;Guinea;Guinea;Gwinea;Guinea;Guiné;Guiné;Guinea;Гвинея;Guinea;Guinea;Guinea;Guinea;Guinea;Гвинеја;Guinea;กิวนี;Guinea;Guinea;Guinea;Guinea;Ghi-nê;几内亚;幾內亞
|
||||||
|
GP;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Γουαδελούπη;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadalupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadalúip;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadalupa;グアドループ;Guadeloupe;과달로프;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Gwadelupa;Guadeloupe;Guadalupe;Guadalupe;Guadeloupe;Гваделупа;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Гваделупе;Guadeloupe;กัวเดอลูป;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;Guadeloupe;瓜德罗普岛;格陵蘭
|
||||||
|
GQ;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Guinea Equatorial;Equatorial Guinea;Equatorial Guinea;Äquatorial-Guinea;Ισημερινή Γουινέα;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Guinea Ecuatorial;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Guinée Equatoriale;Guinée Equatoriale;An Ghuine Mheánchriosach;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Guinea Khatulistiwa;Equatorial Guinea;Guinea Equatoriale;赤道ギニア;Equatorial Guinea;적도 기니;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatoriaal-Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Gwinea Równikowa;Equatorial Guinea;Guiné Equatorial;Guiné Equatorial;Equatorial Guinea;Экваториальная Гвинея;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Екваторијална Гвинеја;Ekvatorialguinea;เอควาโทเรียลกินี;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Equatorial Guinea;Ghi-nê Xích-đạo;赤道几内亚;赤道幾內亞
|
||||||
|
GR;Greece;Greece;Greece;Greece;Greece;Grècia;Greece;Greece;Griechenland;Ελλάδα;Greece;Greece;Greece;Greece;Grecia;Greece;Greece;Kreikka;Grèce;Grèce;An Ghréig;Greece;Greece;Greece;Greece;Greece;Greece;Yunani;Greece;Grecia;ギリシア;Greece;그리스;Greece;Greece;Greece;Greece;Greece;Greece;Greece;Greece;Griekenland;Greece;Greece;Greece;Grecja;Greece;Grécia;Grécia;Greece;Греция;Greece;Greece;Greece;Greece;Greece;Грчка;Grekland;กรีซ;Greece;Greece;Greece;Greece;Hy Lạp;希腊;希臘
|
||||||
|
GS;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;Süd-Georgia und die südlichen Sandwich-Inseln;Νότια Γεωργία και Νήσοι Νότιες Σάντουιτς;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;Islas Georgia del Sur y Sandwich del Sur;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;Géorgie du Sud et îles Sandwich du Sud;Géorgie du Sud et îles Sandwich du Sud;An tSeoirsia Theas agus Oileáin Sandwich Theas;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;Georgia Selatan dan Kepulauan Sandwich Selatan;South Georgia And The South Sandwich Islands;Georgia del sud e isole Sandwich meridionali;サウスジョージア島・サウスサンドウィッチ島;South Georgia And The South Sandwich Islands;사우스 조지아 및 사우스 샌드위치 제도;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;Zuid-Georgië en Zuidelijke Sandwicheilanden;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;Geórgia do Sul e Ilhas Sandwich do Sul;Geórgia do Sul e Ilhas Sandwich do Sul;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;Јужна Џорџија и Јужна Сендвич Острва;Sydgeorgien och Sydsandwichöarna;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;South Georgia And The South Sandwich Islands;南乔治亚岛和南桑德韦奇岛;南喬治亞和南桑威奇群島
|
||||||
|
GT;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Γουατεμάλα;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatamala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;グアテマラ;Guatemala;과테말라;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Gwatemala;Guatemala;Guatemala;Guatemala;Guatemala;Гватемала;Guatemala;Guatemala;Guatemala;Guatemala;Guatemala;Гватемала;Guatemala;กัวเตมาลา;Guatemala;Guatemala;Guatemala;Guatemala;Goa-tê-ma-la;危地马拉;瓜地馬拉
|
||||||
|
GU;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Γκουάμ;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;グアム;Guam;괌;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Guam;Гуам;Guam;Guam;Guam;Guam;Guam;Guam;Guam;关岛;關島
|
||||||
|
GW;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Γουινέα-Μπισάου;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinée-Bissau;Guinée-Bissau;An Ghuine-Bhissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea Bissau;ギニアビサウ;Guinea-Bissau;기네비쏘;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinee-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Gwinea Bissau;Guinea-Bissau;Guiné Bissau;Guiné Bissau;Guinea-Bissau;Гвинея-Бисау;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Гвинеја-Бисао;Guinea-Bissau;กิวนี-บิสโซ;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Guinea-Bissau;Ghi-nê Bít-xao;几内亚比绍共和国;比索
|
||||||
|
GY;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Γουιάνα;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;An Ghuáin;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;ガイアナ;Guyana;가이아나;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Guyana;Gujana;Guyana;Guiana;Guiana;Guyana;Гайана;Guyana;Guyana;Guyana;Guyana;Guyana;Гвајана;Guyana;กูยาน่า;Guyana;Guyana;Guyana;Guyana;Guy-a-na;圭亚那;蓋亞納
|
||||||
|
HK;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hongkong;Χονγκ Κονγκ, Ειδική Διοικητική Περιφέρεια της Κίνας;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong-Kong;Hong-Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong S.A.R., Cina;Hong Kong;Hong Kong;香港;Hong Kong;홍콩;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hongkong SAR van China;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong, Região Admin. Especial da China;Hong Kong, Região Admin. Especial da China;Hong Kong;Гонконг;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Хонг Конг (С. А. Р. Кина);Hongkong;ฮ่องกง;Hong Kong;Hong Kong;Hong Kong;Hong Kong;Hong Kong;香港;香港
|
||||||
|
HM;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard- und McDonald-Inseln;Νήσοι Χερντ και Μακντόναλντ;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Islas Heard y McDonald;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Île Heard et îles McDonald;Île Heard et îles McDonald;Oileán Heard agus Oileáin McDonald;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Pulau Heard dan Kepulauan McDonald;Heard Island And McDonald Islands;Isole Heard e McDonald;ハード・マクドナルド諸島;Heard Island And McDonald Islands;허드 섬 및 맥도널드 제도;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard- en McDonaldeilanden;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Ilha Heard e Ilhas McDonald;Ilha Heard e Ilhas McDonald;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Херд и Мекдоналд Острва;Heardöch McDonaldöarna;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;Heard Island And McDonald Islands;赫德和麦克唐纳群岛;賀得島和麥克唐納群島
|
||||||
|
HN;Honduras;Honduras;Honduras;Honduras;Honduras;Hondures;Honduras;Honduras;Honduras;Ονδούρα;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Hondúras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;ホンジュラス;Honduras;온두라스;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Honduras;Гондурас;Honduras;Honduras;Honduras;Honduras;Honduras;Хондурас;Honduras;ฮอนดูรัส;Honduras;Honduras;Honduras;Honduras;Hôn-đu-rát;洪都拉斯;宏都拉斯
|
||||||
|
HR;Croatia;Croatia;Croatia;Croatia;Croatia;Croàcia;Croatia;Croatia;Kroatien;Κροατία;Croatia;Croatia;Croatia;Croatia;Croacia;Croatia;Croatia;Croatia;Croatie;Croatie;An Chróit;Croatia;Croatia;Croatia;Hrvatska;Croatia;Croatia;Kroasia;Croatia;Croazia;クロアチア;Croatia;크로아티아;Croatia;Croatia;Croatia;Croatia;Croatia;Croatia;Croatia;Croatia;Kroatië;Croatia;Croatia;Croatia;Chorwacja;Croatia;Croácia;Croácia;Croatia;Хорватия;Croatia;Croatia;Croatia;Croatia;Croatia;Хрватска;Kroatien;โครเอเชีย;Croatia;Croatia;Croatia;Croatia;Crô-a-ti-a;克罗地亚;克羅埃西亞
|
||||||
|
HT;Haiti;Haiti;Haiti;Haiti;Haiti;Haití;Haiti;Haiti;Haiti;Αϊτή;Haiti;Haiti;Haiti;Haiti;Haití;Haiti;Haiti;Haiti;Haïti;Haïti;Háití;Haiti;Haiti;Haiti;Haiti;Haiti;Haiti;Haiti;Haiti;Haiti;ハイチ;Haiti;하이티;Haiti;Haiti;Haiti;Haiti;Haiti;Haiti;Haiti;Haiti;Haïti;Haiti;Haiti;Haiti;Haiti;Haiti;Haiti;Haiti;Haiti;Гаити;Haiti;Haiti;Haiti;Haiti;Haiti;Хаити;Haiti;ไฮตี;Haiti;Haiti;Haiti;Haiti;Ha-i-ti;海地;海地
|
||||||
|
HU;Hungary;Hungary;Hungary;Hungary;Hungary;Hongria;Hungary;Hungary;Ungarn;Ουγγαρία;Hungary;Hungary;Hungary;Hungary;Hungría;Hungary;Hungary;Hungary;Hongrie;Hongrie;An Ungáir;Hungary;Hungary;Hungary;Hungary;Magyarország;Hungary;Hungaria;Hungary;Ungheria;ハンガリー;Hungary;헝가리;Hungary;Hungary;Hungary;Hungary;Hungary;Hungary;Hungary;Hungary;Hongarije;Hungary;Hungary;Hungary;Węgry;Hungary;Hungria;Hungria;Hungary;Венгрия;Hungary;Hungary;Hungary;Hungary;Hungary;Мађарска;Ungern;ฮังการี;Hungary;Hungary;Hungary;Hungary;Hung-ga-ri;匈牙利;匈牙利
|
||||||
|
ID;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Indonèsia;Indonesia;Indonesia;Indonesien;Ινδονησία;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Indonésie;Indonésie;An Indinéis;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;インドネシア;Indonesia;인도네시아;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Indonesië;Indonesia;Indonesia;Indonesia;Indonezja;Indonesia;Indonésia;Indonésia;Indonesia;Индонезия;Indonesia;Indonesia;Indonesia;Indonesia;Indonesia;Индонезија;Indonesien;อินโดนีเซีย;Indonesia;Indonesia;Indonesia;Indonesia;Nam Dương;印度尼西亚;印尼
|
||||||
|
IE;Ireland;Ireland;Ireland;Ireland;Ireland;Irlanda;Ireland;Ireland;Irland;Ιρλανδία;Ireland;Ireland;Ireland;Ireland;Irlanda;Ireland;Ireland;Irlanti;Irlande;Irlande;Éire;Ireland;Ireland;Ireland;Ireland;Ireland;Ireland;Irlandia;Ireland;Irlanda;アイルランド;Ireland;아일랜드;Ireland;Ireland;Ireland;Ireland;Ireland;Ireland;Ireland;Ireland;Ierland;Ireland;Ireland;Ireland;Irlandia;Ireland;Irlanda;Irlanda;Ireland;Ирландия;Ireland;Ireland;Ireland;Ireland;Ireland;Ирска;Irland;ไอร์แลนด์;Ireland;Ireland;Ireland;Ireland;Ai-len;爱尔兰;愛爾蘭
|
||||||
|
IL;Israel;Israel;Israel;Israel;Israel;Israel;Israel;Israel;Israel;Ισραήλ;Israel;Israel;Israel;Israel;Israel;Israel;Israel;Israel;Israël;Israël;Iosrael;Israel;Israel;ישראל;Israel;Israel;Israel;Israel;Israel;Israele;イスラエル;Israel;이스라엘;Israel;Israel;Israel;Israel;Israel;Israel;Israel;Israel;Israël;Israel;Israel;Israel;Izrael;Israel;Israel;Israel;Israel;Израиль;Israel;Israel;Israel;Israel;Israel;Израел;Israel;อิสราเอล;Israel;Israel;Israel;Israel;I-xra-en;以色列;以色列
|
||||||
|
IM;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isla de Man;Isle Of Man;Isle Of Man;Isle Of Man;Ile de Man;Ile de Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isola di Man;マン島;Isle Of Man;맨 섬;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Ilha de Man;Ilha de Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;Isle Of Man;曼岛;曼島
|
||||||
|
IN;India;India;India;India;India;Índia;India;India;Indien;Ινδία;India;India;India;India;India;India;India;India;Inde;Inde;An India;India;India;India;India;India;India;India;India;India;インド;India;인도;India;India;India;India;India;India;India;India;India;India;India;India;Indie;India;Índia;Índia;India;Индия;India;India;India;India;India;Индија;Indien;อินเดีย;India;India;India;India;Ấn Độ;印度;印度
|
||||||
|
IO;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;Britische Territorien im Indischen Ozean;Βρετανικά Έδάφη Ινδικού Ωκεανού;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;Territorio Británico del Océano Índico;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;Territoires britanniques de l'Océan Indien;Territoires britanniques de l'Océan Indien;Críocha Briotanacha an Aigéin Indiagh;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;Territorio britannico dell'Oceano Indiano;英領インド洋地域;British Indian Ocean Territory;영인도 제도;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;Britse Gebieden in de Indische Oceaan;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;Território Britânico do Oceano Índico;Território Britânico do Oceano Índico;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;Brittiska territoriet i Indiska Oceanen;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;British Indian Ocean Territory;英属印度洋领地;英屬印度洋地區
|
||||||
|
IQ;العراق;Iraq;Iraq;Iraq;Iraq;Iraq;Iraq;Iraq;Irak;Ιράκ;Iraq;Iraq;Iraq;Iraq;Iraq;Iraq;Iraq;Iraq;Irak;Irak;An Iaráic;Iraq;Iraq;Iraq;Iraq;Iraq;Iraq;Iraq;Iraq;Iraq;イラク;Iraq;이라크;Iraq;Iraq;Iraq;Iraq;Iraq;Iraq;Iraq;Iraq;Irak;Iraq;Iraq;Iraq;Irak;Iraq;Iraque;Iraque;Iraq;Ирак;Iraq;Iraq;Iraq;Iraq;Iraq;Ирак;Irak;อิรัก;Iraq;Iraq;Iraq;Iraq;I-rắc;伊拉克;伊拉克
|
||||||
|
IR;Iran;Iran;Iran;Iran;Iran;Iran;Iran;Iran;Iran;Ιράν, Ισλαμική Δημοκρατία του;Iran;Iran;Iran;Iran;Irán;Iran;Iran;Iran;Iran;Iran;An Iaráin;Iran;Iran;Iran;Iran;Iran;Iran;Iran;Iran;Iran;イラン;Iran;이란;Iran;Iran;Iran;Iran;Iran;Iran;Iran;Iran;Iran;Iran;Iran;Iran;Iran;Iran;Irã;Irã;Iran;Иран;Iran;Iran;Iran;Iran;Iran;Иран;Iran;อิหร่าน;Iran;Iran;Iran;Iran;I-ran;伊朗;伊朗
|
||||||
|
IS;Iceland;Iceland;Iceland;Iceland;Iceland;Islàndia;Iceland;Iceland;Island;Ισλανδία;Iceland;Iceland;Iceland;Iceland;Islandia;Iceland;Iceland;Iceland;Islande;Islande;An Íoslainn;Iceland;Iceland;Iceland;Iceland;Iceland;Iceland;Islandia;Ísland;Islanda;アイスランド;Iceland;아이슬란드;Iceland;Iceland;Iceland;Iceland;Iceland;Iceland;Iceland;Iceland;IJsland;Iceland;Iceland;Iceland;Islandia;Iceland;Islândia;Islândia;Iceland;Исландия;Iceland;Iceland;Iceland;Iceland;Iceland;Исланд;Island;ไอซแลนด์;Iceland;Iceland;Iceland;Iceland;Ai-xơ-len;冰岛;冰島
|
||||||
|
IT;Italy;Italy;Italy;Italy;Italy;Itàlia;Italy;Italy;Italien;Ιταλία;Italy;Italy;Italy;Italy;Italia;Italy;Italy;Italia;Italie;Italie;An Iodáil;Italy;Italy;Italy;Italy;Italy;Italy;Itali;Italy;Italia;イタリア;Italy;이탈리아;Italy;Italy;Italy;Italy;Italy;Italy;Italy;Italy;Italië;Italy;Italy;Italy;Włochy;Italy;Itália;Itália;Italy;Италия;Italy;Italy;Italy;Italy;Italy;Италија;Italien;อิตาลี;Italy;Italy;Italy;Italy;Ý;意大利;義大利
|
||||||
|
JE;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;ジャージー;Jersey;저지;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;Jersey;泽西岛;澤西島
|
||||||
|
JM;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaika;Τζαμάικα;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaïque;Jamaïque;Iamáice;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaika;Jamaica;Giamaica;ジャマイカ;Jamaica;자메이카;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Jamajka;Jamaica;Jamaica;Jamaica;Jamaica;Ямайка;Jamaica;Jamaica;Jamaica;Jamaica;Jamaica;Јамајка;Jamaica;จาไมก้า;Jamaica;Jamaica;Jamaica;Jamaica;Ha-mai-ca;牙买加;牙買
|
||||||
|
JO;الأردن;Jordan;Jordan;Jordan;Jordan;Jordània;Jordan;Jordan;Jordanien;Ιορδανία;Jordan;Jordan;Jordan;Jordan;Jordania;Jordan;Jordan;Jordan;Jordanie;Jordanie;An Iordáin;Jordan;Jordan;Jordan;Jordan;Jordan;Jordan;Yordania;Jordan;Giordania;ヨルダン;Jordan;요르단;Jordan;Jordan;Jordan;Jordan;Jordan;Jordan;Jordan;Jordan;Jordanië;Jordan;Jordan;Jordan;Jordan;Jordan;Jordânia;Jordânia;Jordan;Иордания;Jordan;Jordan;Jordan;Jordan;Jordan;Јордан;Jordanien;จอร์แดน;Jordan;Jordan;Jordan;Jordan;Gióc-đa-ni;约旦;約旦
|
||||||
|
JP;Japan;Japan;Japan;Japan;Japan;Japó;Japan;Japan;Japan;Ιαπωνία;Japan;Japan;Japan;Japan;Japón;Japan;Japan;Japani;Japon;Japon;An tSeapáin;Japan;Japan;Japan;Japan;Japan;Japan;Jepang;Japan;Giappone;日本;Japan;일본;Japan;Japan;Japan;Japan;Japan;Japan;Japan;Japan;Japan;Japan;Japan;Japan;Japonia;Japan;Japão;Japão;Japan;Япония;Japan;Japan;Japan;Japan;Japan;Јапан;Japan;ญี่ปุ่น;Japan;Japan;Japan;Japan;Nhật Bản;日本;日本
|
||||||
|
KE;Kenya;Kenya;Kenya;Kenya;Kenya;Kenya;Kenya;Kenya;Kenia;Κένυα;Kenya;Kenya;Kenya;Kenya;Kenia;Kenya;Kenya;Kenya;Kenya;Kenya;An Chéinia;Kenya;Kenya;Kenya;Kenya;Kenya;Kenya;Kenya;Kenya;Kenya;ケニア;Kenya;케냐;Kenya;Kenya;Kenya;Kenya;Kenya;Kenya;Kenya;Kenya;Kenia;Kenya;Kenya;Kenya;Kenia;Kenya;Quênia;Quênia;Kenya;Кения;Kenya;Kenya;Kenya;Kenya;Kenya;Кенија;Kenya;เคนย่า;Kenya;Kenya;Kenya;Kenya;Kê-ni-a;肯尼亚;肯亞
|
||||||
|
KG;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kirgizistan;Kyrgyzstan;Kyrgyzstan;Kirgistan;Κιργιζία;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kirguizistán;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;An Chirgeastáin;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kirghizistan;キルギスタン;Kyrgyzstan;키르기스스탄;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kirgizië;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kirgistan;Kyrgyzstan;Quirguistão;Quirguistão;Kyrgyzstan;Киргизстан;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Киргизстан;Kirgisistan;เคอร์กิสถาน;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Kyrgyzstan;Cư-rơ-gư-xtan;吉尔吉克斯坦;吉爾吉斯
|
||||||
|
KH;Cambodia;Cambodia;Cambodia;Cambodia;Cambodia;Cambodja;Cambodia;Cambodia;Kambodscha;Καμπότζη;Cambodia;Cambodia;Cambodia;Cambodia;Camboya;Cambodia;Cambodia;Cambodia;Cambodge;Cambodge;An Chambóid;Cambodia;Cambodia;Cambodia;Cambodia;Cambodia;Cambodia;Kamboja;Cambodia;Cambogia;カンボジア;Cambodia;캄보디아;Cambodia;Cambodia;Cambodia;Cambodia;Cambodia;Cambodia;Cambodia;Cambodia;Cambodja;Cambodia;Cambodia;Cambodia;Kambodża;Cambodia;Camboja;Camboja;Cambodia;Камбоджа;Cambodia;Cambodia;Cambodia;Cambodia;Cambodia;Камбоџа;Kambodja;กัมพูชา;Cambodia;Cambodia;Cambodia;Cambodia;Campuchia;柬埔寨;柬埔寨
|
||||||
|
KI;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Κιριμπάτι;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Cireabaití;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;キリバス;Kiribati;키리바시;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Quiribati;Quiribati;Kiribati;Кирибати;Kiribati;Kiribati;Kiribati;Kiribati;Kiribati;Кирибати;Kiribati;คิรีบาติ;Kiribati;Kiribati;Kiribati;Kiribati;Ki-ri-ba-ti;基里巴斯;吉里巴斯
|
||||||
|
KM;Comoros;Comoros;Comoros;Comoros;Comoros;Comores;Comoros;Comoros;Komoren;Κομόρες;Comoros;Comoros;Comoros;Comoros;Comores;Comoros;Comoros;Comoros;Comores;Comores;Oileáin Chomóra;Comoros;Comoros;Comoros;Comoros;Comoros;Comoros;Komoros;Comoros;Comore;コモロ;Comoros;코모르;Comoros;Comoros;Comoros;Comoros;Comoros;Comoros;Comoros;Comoros;Comoren;Comoros;Comoros;Comoros;Komory;Comoros;Comores;Comores;Comoros;Коморос;Comoros;Comoros;Comoros;Comoros;Comoros;Коморска Острва;Komorerna;โคโมรอส;Comoros;Comoros;Comoros;Comoros;Cô-mô;科摩罗;葛摩
|
||||||
|
KN;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts und Nevis;Σαιντ Κιτς και Νέβις;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;San Cristóbal y Nieves;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint-Christophe-et-Niévès;Saint-Christophe-et-Niévès;Saint Kitts agus Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts dan Nevis;Saint Kitts And Nevis;Saint Kitts e Nevis;セントクリストファー・ネイビス;Saint Kitts And Nevis;세인트 크리스토퍼 니비스;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts en Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;São Cristovão e Nevis;São Cristovão e Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Сент Китс и Невис;Saint Kitts och Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Saint Kitts And Nevis;Xan-kít và Nê-vi;圣基茨和尼维斯;聖克里斯多福及尼維斯
|
||||||
|
KP;North Korea;North Korea;North Korea;North Korea;North Korea;Corea del Nord;North Korea;North Korea;Nordkorea;Κορέα, Βόρεια;North Korea;North Korea;North Korea;North Korea;Corea del Norte;North Korea;North Korea;North Korea;Corée du Nord;Corée du Nord;An Chóiré Thuaidh;North Korea;North Korea;North Korea;North Korea;North Korea;North Korea;Korea Utara;North Korea;Corea del Nord;朝鮮民主主義人民共和国;North Korea;북한;North Korea;North Korea;North Korea;North Korea;North Korea;North Korea;North Korea;North Korea;Noord-Korea;North Korea;North Korea;North Korea;Korea Północna;North Korea;Coreia do Norte;Coreia do Norte;North Korea;Северная Корея;North Korea;North Korea;North Korea;North Korea;North Korea;Северна Кореја;Nordkorea;เกาหลีเหนือ;North Korea;North Korea;North Korea;North Korea;Bắc Triều Tiên;朝鲜;北韓
|
||||||
|
KR;South Korea;South Korea;South Korea;South Korea;South Korea;Corea del Sud;South Korea;South Korea;Südkorea;Κορέα, Νότια;South Korea;South Korea;South Korea;South Korea;Corea del Sur;South Korea;South Korea;Korea;Corée du Sud;Corée du Sud;An Chóiré Theas;South Korea;South Korea;South Korea;South Korea;South Korea;South Korea;Korea Selatan;South Korea;Corea del Sud;大韓民国;South Korea;대한민국;South Korea;South Korea;South Korea;South Korea;South Korea;South Korea;South Korea;South Korea;Zuid-Korea;South Korea;South Korea;South Korea;Korea Południowa;South Korea;Coreia do Sul;Coreia do Sul;South Korea;Южная Корея;South Korea;South Korea;South Korea;South Korea;South Korea;Јужна Кореја;Sydkorea;เกาหลีใต้;South Korea;South Korea;South Korea;South Korea;Hàn Quốc;韩国;南韓
|
||||||
|
KW;الكويت;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Κουβέιτ;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Koweit;Koweit;Cuáit;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;クウェート;Kuwait;쿠웨이트;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Koeweit;Kuwait;Kuwait;Kuwait;Kuwejt;Kuwait;Kuwait;Kuwait;Kuwait;Кувейт;Kuwait;Kuwait;Kuwait;Kuwait;Kuwait;Кувајт;Kuwait;คูเวต;Kuwait;Kuwait;Kuwait;Kuwait;Cô-oét;科威特;科威特
|
||||||
|
KY;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Kaiman-Inseln;Νήσοι Κέιμαν;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Islas Caimán;Cayman Islands;Cayman Islands;Cayman Islands;Îles Caïmans;Îles Caïmans;Oileáin Cayman;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Kepulauan Kayman;Cayman Islands;Isole Cayman;ケイマン諸島;Cayman Islands;케이맨 제도;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Caymaneilanden;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Ilhas Caiman;Ilhas Caiman;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Кајманска Острва;Caymanöarna;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;Cayman Islands;开曼群岛;開曼群島
|
||||||
|
KZ;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kasachstan;Καζακστάν;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazajstán;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;An Chasacstáin;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;カザフスタン;Kazakhstan;카자흐스탄;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazachstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazachstan;Kazakhstan;Casaquistão;Casaquistão;Kazakhstan;Казахстан;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Казахстан;Kazakstan;คาซัคสถาน;Kazakhstan;Kazakhstan;Kazakhstan;Kazakhstan;Ka-dắc-xtan;哈萨克斯坦;哈薩克
|
||||||
|
LA;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Λατινική Αμερική;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;ラオス;Laos;라오스;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;Laos;República Popular Democrática do Laos;República Popular Democrática do Laos;Laos;Лаос;Laos;Laos;Laos;Laos;Laos;Лаос;Laos;ลาว;Laos;Laos;Laos;Laos;Lào;老挝;寮國
|
||||||
|
LB;لبنان;Lebanon;Lebanon;Lebanon;Lebanon;Líban;Lebanon;Lebanon;Libanon;Λίβανος;Lebanon;Lebanon;Lebanon;Lebanon;Líbano;Lebanon;Lebanon;Lebanon;Liban;Liban;An Liobáin;Lebanon;Lebanon;Lebanon;Lebanon;Lebanon;Lebanon;Lebanon;Lebanon;Libano;レバノン;Lebanon;레바논;Lebanon;Lebanon;Lebanon;Lebanon;Lebanon;Lebanon;Lebanon;Lebanon;Libanon;Lebanon;Lebanon;Lebanon;Liban;Lebanon;Líbano;Líbano;Lebanon;Ливан;Lebanon;Lebanon;Lebanon;Lebanon;Lebanon;Либан;Libanon;เลบานอน;Lebanon;Lebanon;Lebanon;Lebanon;Li-băng;黎巴嫩;黎巴嫩
|
||||||
|
LC;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;St. Lucia;Αγία Λουκία;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Santa Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Sainte-Lucie;Sainte-Lucie;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Santa Lusia;Saint Lucia;Sainte Lucia;セントルシア;Saint Lucia;세인트 루시아;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Santa Lúcia;Santa Lúcia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Сент Луција;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Saint Lucia;Xan Lu-xi;圣卢西亚;聖露西亞
|
||||||
|
LI;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Λιχτενστάιν;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Lichtinstéin;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;リヒテンシュタイン;Liechtenstein;리히텐슈타인;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Лихтенштейн;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Лихтенштајн;Liechtenstein;ไลเทนสไตน์;Liechtenstein;Liechtenstein;Liechtenstein;Liechtenstein;Lich-ten-xtên;列支敦士登;列支敦斯登
|
||||||
|
LK;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Σρι Λάνκα;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Srí Lanca;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;スリランカ;Sri Lanka;스리랑카;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Шри-Ланка;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Шри Ланка;Sri Lanka;ศรีลังกา;Sri Lanka;Sri Lanka;Sri Lanka;Sri Lanka;Xri Lan-ca;斯里兰卡;斯里蘭卡
|
||||||
|
LR;Liberia;Liberia;Liberia;Liberia;Liberia;Libèria;Liberia;Liberia;Liberia;Λιβερία;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;An Libéir;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;リベリア;Liberia;라이베리아;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Liberia;Libéria;Libéria;Liberia;Либерия;Liberia;Liberia;Liberia;Liberia;Liberia;Либерија;Liberia;ลิเบอร์เลีย;Liberia;Liberia;Liberia;Liberia;Li-bê-ri-a;利比里亚;賴比瑞亞
|
||||||
|
LS;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Λεσότο;Lesotho;Lesotho;Lesotho;Lesotho;Lesoto;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Leosóta;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;レソト;Lesotho;레소토;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Lesoto;Lesotho;Lesoto;Lesoto;Lesotho;Лесото;Lesotho;Lesotho;Lesotho;Lesotho;Lesotho;Лесото;Lesotho;เลโซโท;Lesotho;Lesotho;Lesotho;Lesotho;Lê-xô-thô;莱索托;賴索托
|
||||||
|
LT;Lithuania;Lithuania;Lithuania;Lithuania;Lithuania;Lituània;Lithuania;Lithuania;Litauen;Λιθουανία;Lithuania;Lithuania;Lithuania;Lithuania;Lituania;Lithuania;Lithuania;Lithuania;Lithuanie;Lithuanie;An Liotuáin;Lithuania;Lithuania;Lithuania;Lithuania;Lithuania;Lithuania;Lithuania;Lithuania;Lituania;リトアニア;Lithuania;리투아니아;Lithuania;Lithuania;Lithuania;Lithuania;Lietuva;Lithuania;Lithuania;Lithuania;Litouwen;Lithuania;Lithuania;Lithuania;Litwa;Lithuania;Lituânia;Lituânia;Lithuania;Литва;Lithuania;Lithuania;Lithuania;Lithuania;Lithuania;Литванија;Litauen;ลิเทอร์เนีย;Lithuania;Lithuania;Lithuania;Lithuania;Li-tu-a-ni-a;立陶宛;立陶宛
|
||||||
|
LU;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxemburg;Luxembourg;Luxembourg;Luxemburg;Λουξεμβούργο;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxemburgo;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Lucsamburg;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Lussemburgo;ルクセンブルク;Luxembourg;룩셈부르크;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxemburg;Luxembourg;Luxembourg;Luxembourg;Luksemburg;Luxembourg;Luxemburgo;Luxemburgo;Luxembourg;Люксембург;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Луксембург;Luxemburg;ลักซ์เซมเบอร์ก;Luxembourg;Luxembourg;Luxembourg;Luxembourg;Lúc-xăm-bua;卢森堡;盧森堡
|
||||||
|
LV;Latvia;Latvia;Latvia;Latvia;Latvia;Letònia;Latvia;Latvia;Lettland;Λετονία;Latvia;Latvia;Latvia;Latvia;Letonia;Latvia;Latvia;Latvia;Lettonie;Lettonie;An Laitvia;Latvia;Latvia;Latvia;Latvia;Latvia;Latvia;Latvia;Latvia;Lettonia;ラトビア;Latvia;라트비아;Latvia;Latvia;Latvia;Latvia;Latvia;Latvija;Latvia;Latvia;Letland;Latvia;Latvia;Latvia;Łotwa;Latvia;Letônia;Letônia;Latvia;Латвия;Latvia;Latvia;Latvia;Latvia;Latvia;Летонија;Lettland;ลาตเวีย;Latvia;Latvia;Latvia;Latvia;Lát-vi-a;拉脱维亚;拉脫維亞
|
||||||
|
LY;ليبيا;Libya;Libya;Libya;Libya;Líbia;Libya;Libya;Libyen;Λιβύη;Libya;Libya;Libya;Libya;Libia;Libya;Libya;Libya;Libye;Libye;An Libia;Libya;Libya;Libya;Libya;Libya;Libya;Libya;Libya;Libia;リビア;Libya;리비아;Libya;Libya;Libya;Libya;Libya;Libya;Libya;Libya;Libië;Libya;Libya;Libya;Libia;Libya;Líbia;Líbia;Libya;Ливия;Libya;Libya;Libya;Libya;Libya;Либија;Libyen;ลิเบีย;Libya;Libya;Libya;Libya;Li-bi;利比亚;利比亞
|
||||||
|
MA;المغرب;Morocco;Morocco;Morocco;Morocco;Marroc;Morocco;Morocco;Marokko;Μαρόκο;Morocco;Morocco;Morocco;Morocco;Marruecos;Morocco;Morocco;Morocco;Maroc;Maroc;Maracó;Morocco;Morocco;Morocco;Morocco;Morocco;Morocco;Maroko;Morocco;Marocco;モロッコ;Morocco;모로코;Morocco;Morocco;Morocco;Morocco;Morocco;Morocco;Morocco;Morocco;Marokko;Morocco;Morocco;Morocco;Maroko;Morocco;Marrocos;Marrocos;Morocco;Марокко;Morocco;Morocco;Morocco;Morocco;Morocco;Мароко;Marocko;โมรอคโค;Morocco;Morocco;Morocco;Morocco;Ma-rốc;摩洛哥;摩洛哥
|
||||||
|
MC;Monaco;Monaco;Monaco;Monaco;Monaco;Mònaco;Monaco;Monaco;Monaco;Μονακό;Monaco;Monaco;Monaco;Monaco;Mónaco;Monaco;Monaco;Monaco;Monaco;Monaco;Monacó;Monaco;Monaco;Monaco;Monaco;Monaco;Monaco;Monaco;Monaco;Monaco;モナコ;Monaco;모나코;Monaco;Monaco;Monaco;Monaco;Monaco;Monaco;Monaco;Monaco;Monaco;Monaco;Monaco;Monaco;Monako;Monaco;Mônaco;Mônaco;Monaco;Монако;Monaco;Monaco;Monaco;Monaco;Monaco;Монако;Monaco;โมนาโค;Monaco;Monaco;Monaco;Monaco;Mô-na-cô;摩纳哥;摩納哥
|
||||||
|
MD;Moldova;Moldova;Moldova;Moldova;Moldova;Moldàvia;Moldova;Moldova;Moldau;Μολδαβία, Δημοκρατία της;Moldova;Moldova;Moldova;Moldova;Moldavia;Moldova;Moldova;Moldova;Moldavie;Moldavie;An Mholdóiv;Moldova;Moldova;Moldova;Moldova;Moldova;Moldova;Moldova;Moldova;Moldavia;モルドバ;Moldova;몰도바;Moldova;Moldova;Moldova;Moldova;Moldova;Moldova;Moldova;Moldova;Moldavië;Moldova;Moldova;Moldova;Mołdawia;Moldova;Moldávia;Moldávia;Moldova;Молдова;Moldova;Moldova;Moldova;Moldova;Moldova;Молдавија;Moldavien;โมลโดวา;Moldova;Moldova;Moldova;Moldova;Môn-đô-va;摩尔多瓦;摩爾多瓦
|
||||||
|
ME;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Monténégro;Monténégro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;モンテネグロ;Montenegro;몬테네그로;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;Montenegro;黑山;蒙特尼格羅
|
||||||
|
MF;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;St. Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;San Martín;Saint Martin;Saint Martin;Saint Martin;Saint-Martin;Saint-Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;サンマルタン;Saint Martin;생 마르탱;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;São Martinho;São Martinho;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint-Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;Saint Martin;圣马丁;聖馬丁
|
||||||
|
MG;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagaskar;Μαδαγασκάρη;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagaskar;Madagascar;Madagascar;マダガスカル;Madagascar;마다가스카르;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Madagaskar;Madagascar;Madagascar;Madagascar;Madagaskar;Madagascar;Madagascar;Madagascar;Madagascar;Мадагаскар;Madagascar;Madagascar;Madagascar;Madagascar;Madagascar;Мадагаскар;Madagaskar;มาดากาสก้า;Madagascar;Madagascar;Madagascar;Madagascar;Ma-đa-gát-xca;马达加斯加;馬達加斯加
|
||||||
|
MH;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall-Inseln;Νήσοι Μάρσαλ;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Islas Marshall;Marshall Islands;Marshall Islands;Marshall Islands;Îles Marshall;Îles Marshall;Oileáin Marshall;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Kepulauan Marshall;Marshall Islands;Isole Marshall;マーシャル諸島;Marshall Islands;마셜 제도;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshalleilanden;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Ilhas Marshall;Ilhas Marshall;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Маршалска Острва;Marshallöarna;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Marshall Islands;Quần đảo Mác-san;马绍尔群岛;馬紹爾群島
|
||||||
|
MK;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macedònia;Macedonia;Macedonia;Mazedonien;ΠΓΔ Μακεδονίας;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macédoine;Macédoine;An Mhacadóin;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;マケドニア;Macedonia;마케도니아어;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macedonië;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Macedônia;Macedônia;Macedonia;Македония;Macedonia;Macedonia;Macedonia;Macedonia;Macedonia;Македонија;Makedonien;แมซีโดเนีย;Macedonia;Macedonia;Macedonia;Macedonia;Ma-xê-đô-ni-a;马其顿王国;馬其頓
|
||||||
|
ML;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Μάλι;Mali;Mali;Mali;Mali;Malí;Mali;Mali;Mali;Mali;Mali;Mailí;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;マリ;Mali;말리;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Mali;Мали;Mali;Mali;Mali;Mali;Mali;Мали;Mali;มาลี;Mali;Mali;Mali;Mali;Ma-li;马里;馬利
|
||||||
|
MM;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Μιανμάρ;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Maenmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;ミャンマー;Myanmar;미얀마;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Mianmar [Birmânia];Mianmar [Birmânia];Myanmar;Мьянма;Myanmar;Myanmar;Myanmar;Myanmar;Myanmar;Мијанмар;Myanmar;สหภาพพม่า;Myanmar;Myanmar;Myanmar;Myanmar;Mi-an-ma;缅甸;緬甸
|
||||||
|
MN;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongòlia;Mongolia;Mongolia;Mongolei;Μογγολία;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongolie;Mongolie;An Mhongóil;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;モンゴル;Mongolia;몽골;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongolië;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Mongólia;Mongólia;Mongolia;Монголия;Mongolia;Mongolia;Mongolia;Mongolia;Mongolia;Монголија;Mongoliet;มองโกเลีย;Mongolia;Mongolia;Mongolia;Mongolia;Mông Cổ;蒙古;蒙古
|
||||||
|
MO;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Μακάο, Ειδική Διοικητική Περιφέρεια της Κίνας;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Makao S.A.R. Cina;Macao;Macao;マカオ;Macao;마카오;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Macao SAR van China;Macao;Macao;Macao;Macao;Macao;Macau, Região Admin. Especial da China;Macau, Região Admin. Especial da China;Macao;Macao;Macao;Macao;Macao;Macao;Macao;Макао (С. А. Р. Кина);Macao;Macao;Macao;Macao;Macao;Macao;Macao;澳门特区;澳門
|
||||||
|
MP;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Nördliche Mariannen-Inseln;Νήσοι Βόρειες Μαριάνες;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Islas Marianas del Norte;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Îles Mariannes du Nord;Îles Mariannes du Nord;Oileáin Mariana Thuaidh;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Kepualuan Mariana Utara;Northern Mariana Islands;Isole Marianne settentrionali;北マリアナ諸島;Northern Mariana Islands;북마리아나 제도;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Noordelijke Marianeneilanden;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Ilhas Marianas do Norte;Ilhas Marianas do Norte;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Северна Маријанска Острва;Nordmarianerna;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;Northern Mariana Islands;美属北马里亚纳群岛;馬里亞納群島
|
||||||
|
MQ;Martinique;Martinique;Martinique;Martinique;Martinique;Martinica;Martinique;Martinique;Martinique;Μαρτινίκα;Martinique;Martinique;Martinique;Martinique;Martinica;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinica;マルティニーク島;Martinique;말티니크;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martinique;Martynika;Martinique;Martinica;Martinica;Martinique;Мартиника;Martinique;Martinique;Martinique;Martinique;Martinique;Мартиник;Martinique;มาร์ตินิก;Martinique;Martinique;Martinique;Martinique;Martinique;马提尼克岛;法屬玻里尼西亞
|
||||||
|
MR;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Mauritània;Mauritania;Mauritania;Mauretanien;Μαυριτανία;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Mauritanie;Mauritanie;An Mharatáin;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;モーリタニア;Mauritania;모리타니;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Mauritanië;Mauritania;Mauritania;Mauritania;Mauretania;Mauritania;Mauritânia;Mauritânia;Mauritania;Мавритания;Mauritania;Mauritania;Mauritania;Mauritania;Mauritania;Мауританија;Mauretanien;มอริทาเนีย;Mauritania;Mauritania;Mauritania;Mauritania;Mô-ri-ta-ni;毛里塔尼亚;茅利塔尼亞
|
||||||
|
MS;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Μονσεράτ;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montsarat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;モントセラト島;Montserrat;몬트세라트;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Монтсерат;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;Монсерат;Montserrat;มอนต์เซอราต;Montserrat;Montserrat;Montserrat;Montserrat;Montserrat;蒙特塞拉群岛;蒙特色拉特島
|
||||||
|
MT;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Μάλτα;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malte;Malte;Málta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;マルタ;Malta;몰타;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Malta;Мальта;Malta;Malta;Malta;Malta;Malta;Малта;Malta;มัลต้า;Malta;Malta;Malta;Malta;Man-ta;马耳他;馬爾他
|
||||||
|
MU;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Maurici;Mauritius;Mauritius;Mauritius;Μαυρίκιος;Mauritius;Mauritius;Mauritius;Mauritius;Mauricio;Mauritius;Mauritius;Mauritius;Maurice;Maurice;Oileán Mhuirís;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Maurizio;モーリシャス;Mauritius;모리셔스;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Maurício;Maurício;Mauritius;Маврикий;Mauritius;Mauritius;Mauritius;Mauritius;Mauritius;Маурицијус;Mauritius;มอริเตียส;Mauritius;Mauritius;Mauritius;Mauritius;Mô-ri-xơ;毛里求斯;模里西斯
|
||||||
|
MV;Maldives;Maldives;Maldives;Maldives;Maldives;Maldives;Maldives;Maldives;Maldiven;Μαλδίβες;Maldives;Maldives;Maldives;Maldives;Maldivas;Maldives;Maldives;Maldives;Maldives;Maldives;Mhaildiví;Maldives;Maldives;Maldives;Maldives;Maldives;Maldives;Maldives;Maldives;Maldive;モルディブ;Maldives;몰디브;Maldives;Maldives;Maldives;Maldives;Maldives;Maldives;Maldives;Maldives;Maldiven;Maldives;Maldives;Maldives;Maldives;Maldives;Maldivas;Maldivas;Maldives;Maldives;Maldives;Maldives;Maldives;Maldives;Maldives;Малдиви;Maldiverna;Maldives;Maldives;Maldives;Maldives;Maldives;Man-đi-vơ;马尔代夫;馬爾地夫
|
||||||
|
MW;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Μαλάουι;Malawi;Malawi;Malawi;Malawi;Malaui;Malawi;Malawi;Malawi;Malawi;Malawi;An Mhaláiv;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;マラウイ;Malawi;말라위;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Малави;Malawi;Malawi;Malawi;Malawi;Malawi;Malawi;Ma-la-uy;马拉维;馬拉威
|
||||||
|
MX;Mexico;Mexico;Mexico;Mexico;Mexico;Mèxic;Mexico;Mexico;Mexiko;Μεξικό;Mexico;Mexico;Mexico;Mexico;México;Mexico;Mexico;Mexico;Mexique;Mexique;Meicsiceo;Mexico;Mexico;Mexico;Mexico;Mexico;Mexico;Mexico;Mexico;Messico;メキシコ;Mexico;멕시코;Mexico;Mexico;Mexico;Mexico;Mexico;Mexico;Mexico;Mexico;Mexico;Mexico;Mexico;Mexico;Meksyk;Mexico;México;México;Mexico;Мексика;Mexico;Mexico;Mexico;Mexico;Mexico;Мексико;Mexiko;แม็กซิโก;Mexico;Mexico;Mexico;Mexico;Mê-hi-cô;墨西哥;墨西哥
|
||||||
|
MY;Malaysia;Malaysia;Malaysia;Malaysia;Malaysia;Malàisia;Malaysia;Malaysia;Malaysia;Μαλαισία;Malaysia;Malaysia;Malaysia;Malaysia;Malasia;Malaysia;Malaysia;Malaysia;Malaisie;Malaisie;An Mhalaeisia;Malaysia;Malaysia;Malaysia;Malaysia;Malaysia;Malaysia;Malaysia;Malaysia;Malaysia;マレーシア;Malaysia;말레이지아;Malaysia;Malaysia;Malaysia;Malaysia;Malaysia;Malaysia;Malaysia;Malaysia;Maleisië;Malaysia;Malaysia;Malaysia;Malezja;Malaysia;Malásia;Malásia;Malaysia;Малайзия;Malaysia;Malaysia;Malaysia;Malaysia;Malaysia;Малезија;Malaysia;มาเลเซีย;Malaysia;Malaysia;Malaysia;Malaysia;Ma-lay-xi-a;马来西亚;馬來西亞
|
||||||
|
MZ;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Moçambic;Mozambique;Mozambique;Mosambik;Μοζαμβίκη;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mósaimbíc;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambico;モザンビーク;Mozambique;모잠비크;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Mozambik;Mozambique;Moçambique;Moçambique;Mozambique;Мозамбик;Mozambique;Mozambique;Mozambique;Mozambique;Mozambique;Мозамбик;Moçambique;โมแซมบิค;Mozambique;Mozambique;Mozambique;Mozambique;Mô-dăm-bích;莫桑比克;莫三比克
|
||||||
|
NA;Namibia;Namibia;Namibia;Namibia;Namibia;Namíbia;Namibia;Namibia;Namibia;Ναμίμπια;Namibia;Namibia;Namibia;Namibia;Namibia;Namibia;Namibia;Namibia;Namibie;Namibie;An Namaib;Namibia;Namibia;Namibia;Namibia;Namibia;Namibia;Namibia;Namibia;Namibia;ナミビア;Namibia;나미비아;Namibia;Namibia;Namibia;Namibia;Namibia;Namibia;Namibia;Namibia;Namibië;Namibia;Namibia;Namibia;Namibia;Namibia;Namíbia;Namíbia;Namibia;Намибия;Namibia;Namibia;Namibia;Namibia;Namibia;Намибија;Namibia;นามิเบีย;Namibia;Namibia;Namibia;Namibia;Nam-mi-bi-a;纳米比亚;納米比亞
|
||||||
|
NC;New Caledonia;New Caledonia;New Caledonia;New Caledonia;New Caledonia;Nova Caledònia;New Caledonia;New Caledonia;Neukaledonien;Νέα Καληδονία;New Caledonia;New Caledonia;New Caledonia;New Caledonia;Nueva Caledonia;New Caledonia;New Caledonia;New Caledonia;Nouvelle-Calédonie;Nouvelle-Calédonie;An Nua-Chaladóin;New Caledonia;New Caledonia;New Caledonia;New Caledonia;New Caledonia;New Caledonia;Kaledonia Baru;New Caledonia;Nuova Caledonia;ニューカレドニア;New Caledonia;뉴 칼레도니아;New Caledonia;New Caledonia;New Caledonia;New Caledonia;New Caledonia;New Caledonia;New Caledonia;New Caledonia;Nieuw-Caledonië;New Caledonia;New Caledonia;New Caledonia;Nowa Kaledonia;New Caledonia;Nova Caledônia;Nova Caledônia;New Caledonia;Новая Каледония;New Caledonia;New Caledonia;New Caledonia;New Caledonia;New Caledonia;Нова Каледонија;Nya Kaledonien;นิวคาลิโดเนีย;New Caledonia;New Caledonia;New Caledonia;New Caledonia;New Caledonia;新克里多尼亚群岛;新喀里多尼亞群島
|
||||||
|
NE;Niger;Niger;Niger;Niger;Niger;Níger;Niger;Niger;Niger;Νίγηρ;Niger;Niger;Niger;Niger;Níger;Niger;Niger;Niger;Niger;Niger;An Nígir;Niger;Niger;Niger;Niger;Niger;Niger;Niger;Niger;Niger;ニジェール;Niger;니제르;Niger;Niger;Niger;Niger;Niger;Niger;Niger;Niger;Niger;Niger;Niger;Niger;Niger;Niger;Níger;Níger;Niger;Нигер;Niger;Niger;Niger;Niger;Niger;Нигер;Niger;ไนเจอร์;Niger;Niger;Niger;Niger;Ni-giê;尼日尔;尼日
|
||||||
|
NF;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk-Insel;Νήσος Νόρφολκ;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Isla Norfolk;Norfolk Island;Norfolk Island;Norfolk Island;Île Norfolk;Île Norfolk;Oileán Norfolk;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Kepulauan Norfolk;Norfolk Island;Isola Norfolk;ノーフォーク島;Norfolk Island;노퍽 섬;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolkeiland;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Ilha Norfolk;Ilha Norfolk;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Норфолк Острво;Norfolkön;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;Norfolk Island;诺福克岛;諾福克島
|
||||||
|
NG;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigèria;Nigeria;Nigeria;Nigeria;Νιγηρία;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigéria;Nigéria;An Nigéir;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;ナイジェリア;Nigeria;나이지리아;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Nigéria;Nigéria;Nigeria;Нигерия;Nigeria;Nigeria;Nigeria;Nigeria;Nigeria;Нигерија;Nigeria;ไนจีเรีย;Nigeria;Nigeria;Nigeria;Nigeria;Ni-giê-ri-a;尼日利亚;奈及利亞
|
||||||
|
NI;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Νικαράγουα;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicearagua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;ニカラグア;Nicaragua;니카라과;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nikaragua;Nicaragua;Nicarágua;Nicarágua;Nicaragua;Никарагуа;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Никарагва;Nicaragua;นิคารากัว;Nicaragua;Nicaragua;Nicaragua;Nicaragua;Ni-ca-ra-goa;尼加拉瓜;尼加拉瓜
|
||||||
|
NL;Netherlands;Netherlands;Netherlands;Netherlands;Netherlands;Països Baixos;Netherlands;Netherlands;Niederlande;Ολλανδία;Netherlands;Netherlands;Netherlands;Netherlands;Holanda;Netherlands;Netherlands;Alankomaat;Pays-Bas;Pays-Bas;An Ísiltír;Netherlands;Netherlands;Netherlands;Netherlands;Netherlands;Netherlands;Netherlands;Netherlands;Paesi Bassi;オランダ;Netherlands;네덜란드;Netherlands;Netherlands;Netherlands;Netherlands;Netherlands;Netherlands;Netherlands;Netherlands;Nederland;Netherlands;Netherlands;Netherlands;Holandia;Netherlands;Holanda;Holanda;Netherlands;Нидерланды;Netherlands;Netherlands;Netherlands;Netherlands;Netherlands;Холандија;Nederländerna;เนเธอร์แลนด์;Netherlands;Netherlands;Netherlands;Netherlands;Hà Lan;荷兰;荷蘭
|
||||||
|
NO;Norway;Norway;Norway;Norway;Norway;Noruega;Norway;Norway;Norwegen;Νορβηγία;Norway;Norway;Norway;Norway;Noruega;Norway;Norway;Norja;Norvège;Norvège;An Iorua;Norway;Norway;Norway;Norway;Norway;Norway;Norwegia;Norway;Norvegia;ノルウェー;Norway;노르웨이;Norway;Norway;Norway;Norway;Norway;Norway;Norway;Norge;Noorwegen;Norge;Norway;Norway;Norwegia;Norway;Noruega;Noruega;Norway;Норвегия;Norway;Norway;Norway;Norway;Norway;Норвешка;Norge;นอร์เวย์;Norway;Norway;Norway;Norway;Na Uy;挪威;挪威
|
||||||
|
NP;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Νεπάλ;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Népal;Népal;Neipeal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;ネパール;Nepal;네팔;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Nepal;Непал;Nepal;Nepal;Nepal;Nepal;Nepal;Непал;Nepal;เนปาล;Nepal;Nepal;Nepal;Nepal;Nê-pan;尼泊尔;尼泊爾
|
||||||
|
NR;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Ναούρου;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nárú;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;ナウル;Nauru;나우루;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Науру;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;Nauru;瑙鲁;諾魯
|
||||||
|
NU;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Νιούε;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;ニウエ島;Niue;니우에;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Niue;Нию;Niue;Niue;Niue;Niue;Niue;Ниуе;Niue;นียู;Niue;Niue;Niue;Niue;Niue;纽埃岛;紐威島
|
||||||
|
NZ;New Zealand;New Zealand;New Zealand;New Zealand;New Zealand;Nova Zelanda;New Zealand;New Zealand;Neuseeland;Νέα Ζηλανδία;New Zealand;New Zealand;New Zealand;New Zealand;Nueva Zelanda;New Zealand;New Zealand;New Zealand;Nouvelle-Zélande;Nouvelle-Zélande;An Nua-Shéalainn;New Zealand;New Zealand;New Zealand;New Zealand;New Zealand;New Zealand;Selandia Baru;New Zealand;Nuova Zelanda;ニュージーランド;New Zealand;뉴질랜드;New Zealand;New Zealand;New Zealand;New Zealand;New Zealand;New Zealand;New Zealand;New Zealand;Nieuw-Zeeland;New Zealand;New Zealand;New Zealand;Nowa Zelandia;New Zealand;Nova Zelândia;Nova Zelândia;New Zealand;Новая Зеландия;New Zealand;New Zealand;New Zealand;New Zealand;New Zealand;Нови Зеланд;Nya Zeeland;นิวซีแลนด์;New Zealand;New Zealand;New Zealand;New Zealand;Niu Di-lân;新西兰;紐西蘭
|
||||||
|
OM;سلطنة عمان;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Ομάν;Oman;Oman;Oman;Oman;Omán;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;オマーン;Oman;오만;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Oman;Omã;Omã;Oman;Оман;Oman;Oman;Oman;Oman;Oman;Оман;Oman;โอมาน;Oman;Oman;Oman;Oman;Ô-man;阿曼;阿曼
|
||||||
|
PA;Panama;Panama;Panama;Panama;Panama;Panamà;Panama;Panama;Panama;Παναμάς;Panama;Panama;Panama;Panama;Panamá;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;パナマ;Panama;파나마;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panama;Panamá;Panamá;Panama;Панама;Panama;Panama;Panama;Panama;Panama;Панама;Panama;ปานามา;Panama;Panama;Panama;Panama;Pa-na-ma;巴拿马;巴拿馬
|
||||||
|
PE;Peru;Peru;Peru;Peru;Peru;Perú;Peru;Peru;Peru;Περού;Peru;Peru;Peru;Peru;Perú;Peru;Peru;Peru;Pérou;Pérou;Peiriú;Peru;Peru;Peru;Peru;Peru;Peru;Peru;Peru;Perù;ペルー;Peru;페루;Peru;Peru;Peru;Peru;Peru;Peru;Peru;Peru;Peru;Peru;Peru;Peru;Peru;Peru;Peru;Peru;Peru;Перу;Peru;Peru;Peru;Peru;Peru;Перу;Peru;เปรู;Peru;Peru;Peru;Peru;Pê-ru;秘鲁;祕魯共和國
|
||||||
|
PF;French Polynesia;French Polynesia;French Polynesia;French Polynesia;French Polynesia;Polinèsia Francesa;French Polynesia;French Polynesia;Französisch-Polynesien;Γαλλική Πολυνησία;French Polynesia;French Polynesia;French Polynesia;French Polynesia;Polinesia Francesa;French Polynesia;French Polynesia;French Polynesia;Polynésie Française;Polynésie Française;An Pholainéis Fhrancach;French Polynesia;French Polynesia;French Polynesia;French Polynesia;French Polynesia;French Polynesia;Polynesia Perancis;French Polynesia;Polinesia Francese;仏領ポリネシア;French Polynesia;프랑스령 폴리네시아;French Polynesia;French Polynesia;French Polynesia;French Polynesia;French Polynesia;French Polynesia;French Polynesia;French Polynesia;Frans-Polynesië;French Polynesia;French Polynesia;French Polynesia;Polinezja Francuska;French Polynesia;Polinésia Francesa;Polinésia Francesa;French Polynesia;Французская Полинезия;French Polynesia;French Polynesia;French Polynesia;French Polynesia;French Polynesia;Француска Полинезија;Franska Polynesien;เฟร็นชโพลินีเซีย;French Polynesia;French Polynesia;French Polynesia;French Polynesia;French Polynesia;法属玻利尼西亚;法屬玻里尼西亞
|
||||||
|
PG;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua Nova Guinea;Papua New Guinea;Papua New Guinea;Papua-Neuguinea;Παπούα - Νέα Γουινέα;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papúa New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papouasie-Nouvelle-Guinée;Papouasie-Nouvelle-Guinée;Nua-Ghuine Phapua;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua Nugini;Papua New Guinea;Papua Nuova Guinea;パプアニューギニア;Papua New Guinea;파푸아뉴기니;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papoea-Nieuw-Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua Nowa Gwinea;Papua New Guinea;Papua-Nova Guiné;Papua-Nova Guiné;Papua New Guinea;Папуа - Новая Гвинея;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Папуа Нова Гвинеја;Papua Nya Guinea;ปาปัวนิวกีนี;Papua New Guinea;Papua New Guinea;Papua New Guinea;Papua New Guinea;Pa-pu-a Niu Ghi-nê;巴布亚新几内亚;巴布亞紐幾內亞
|
||||||
|
PH;Philippines;Philippines;Philippines;Philippines;Philippines;Filipines;Philippines;Philippines;Philippinen;Φιλιππίνες;Philippines;Philippines;Philippines;Philippines;Filipinas;Philippines;Philippines;Philippines;Philippines;Philippines;Na hOileáin Fhilipíneacha;Philippines;Philippines;Philippines;Philippines;Philippines;Philippines;Filipina;Philippines;Filippine;フィリピン;Philippines;필리핀;Philippines;Philippines;Philippines;Philippines;Philippines;Philippines;Philippines;Philippines;Filipijnen;Philippines;Philippines;Philippines;Filipiny;Philippines;Filipinas;Filipinas;Philippines;Филиппины;Philippines;Philippines;Philippines;Philippines;Philippines;Филипини;Filippinerna;ฟิลิปปินส์;Philippines;Philippines;Philippines;Philippines;Phi-lip-pin;菲律宾;菲律賓
|
||||||
|
PK;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Πακιστάν;Pakistan;Pakistan;Pakistan;Pakistan;Paquistán;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;An Phacastáin;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;パキスタン;Pakistan;파키스탄;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Paquistão;Paquistão;Pakistan;Пакистан;Pakistan;Pakistan;Pakistan;Pakistan;Pakistan;Пакистан;Pakistan;ปากีสถาน;Pakistan;Pakistan;Pakistan;Pakistan;Pa-ki-xtan;巴基斯坦;巴基斯坦
|
||||||
|
PL;Poland;Poland;Poland;Poland;Poland;Polònia;Poland;Poland;Polen;Πολωνία;Poland;Poland;Poland;Poland;Polonia;Poland;Poland;Puola;Pologne;Pologne;An Pholainn;Poland;Poland;Poland;Poland;Poland;Poland;Polandia;Poland;Polonia;ポーランド;Poland;폴란드;Poland;Poland;Poland;Poland;Poland;Poland;Poland;Poland;Polen;Poland;Poland;Poland;Polska;Poland;Polônia;Polônia;Poland;Польша;Poland;Poland;Poland;Poland;Poland;Пољска;Polen;โปแลนด์;Poland;Poland;Poland;Poland;Ba Lan;波兰;波蘭
|
||||||
|
PM;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;St. Pierre und Miquelon;Σαιντ Πιέρ και Μικελόν;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;San Pedro y Miquelón;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint-Pierre-et-Miquelon;Saint-Pierre-et-Miquelon;Saint Pierre agus Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre dan Miquelon;Saint Pierre And Miquelon;Saint Pierre e Miquelon;サンピエール島・ミクロン島;Saint Pierre And Miquelon;세인트 피에르 미켈론;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre en Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre e Miquelon;Saint Pierre e Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Сен Пјер и Микелон;Saint Pierre och Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;Saint Pierre And Miquelon;圣皮埃尔和密克隆群岛;聖皮埃爾和密克隆
|
||||||
|
PN;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Πίτκερν;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Islas Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;ピトケアン島;Pitcairn;핏케언 제도;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Питкерн;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;Pitcairn;皮特克恩岛;皮特康
|
||||||
|
PR;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Πουέρτο Ρίκο;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Porto Rico;Porto Rico;Portó Ríce;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Riko;Puerto Rico;Puerto Rico;プエルトリコ;Puerto Rico;푸에르토리코;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Portoryko;Puerto Rico;Porto Rico;Porto Rico;Puerto Rico;Пуэрто-Рико;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Порто Рико;Puerto Rico;เปอร์โตริโก;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;Puerto Rico;波多黎哥;波多黎各
|
||||||
|
PS;Palestine;Palestine;Palestine;Palestine;Palestine;Palestine;Palestine;Palestine;Palästina;Παλαιστινιακά Εδάφη;Palestine;Palestine;Palestine;Palestine;Palestina;Palestine;Palestine;Palestine;Palestine;Palestine;Na Críocha Pailistíneacha;Palestine;Palestine;Palestine;Palestine;Palestine;Palestine;Otoritas Palestina;Palestine;Palestina;パレスチナ;Palestine;팔레스타인;Palestine;Palestine;Palestine;Palestine;Palestine;Palestine;Palestine;Palestine;Palestijns Gebied;Palestine;Palestine;Palestine;Palestine;Palestine;Territórios palestinos;Territórios palestinos;Palestine;Palestine;Palestine;Palestine;Palestine;Palestine;Palestine;Палестинска територија;Palestina;Palestine;Palestine;Palestine;Palestine;Palestine;Palestine;巴勒斯坦;巴勒斯坦
|
||||||
|
PT;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Πορτογαλία;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Portugali;Portugal;Portugal;An Phortaingéil;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Portugis;Portugal;Portogallo;ポルトガル;Portugal;포르투칼;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Portugal;Portugalia;Portugal;Portugal;Portugal;Portugal;Португалия;Portugal;Portugal;Portugal;Portugal;Portugal;Португал;Portugal;โปตุกัล;Portugal;Portugal;Portugal;Portugal;Bồ Đào Nha;葡萄牙;葡萄牙
|
||||||
|
PW;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Παλάου;Palau;Palau;Palau;Palau;Palaos;Palau;Palau;Palau;Belau;Belau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;パラオ;Palau;팔라우;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Palau;Палау;Palau;Palau;Palau;Palau;Palau;Palau;Palau;帕劳;帛琉
|
||||||
|
PY;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguai;Paraguay;Paraguay;Paraguay;Παραγουάη;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paragua;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;パラグアイ;Paraguay;파라과이;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Paragwaj;Paraguay;Paraguai;Paraguai;Paraguay;Парагвай;Paraguay;Paraguay;Paraguay;Paraguay;Paraguay;Парагвај;Paraguay;ปารากวัย;Paraguay;Paraguay;Paraguay;Paraguay;Pa-ra-goay;巴拉圭;巴拉圭
|
||||||
|
QA;قطر;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Katar;Κατάρ;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Catar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;カタール;Qatar;카타르;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Qatar;Katar;Qatar;Catar;Catar;Qatar;Катар;Qatar;Qatar;Qatar;Qatar;Qatar;Катар;Qatar;กาตาร์;Qatar;Qatar;Qatar;Qatar;Ca-ta;卡塔尔;卡達
|
||||||
|
RE;Reunion;Reunion;Reunion;Reunion;Reunion;Reunion;Reunion;Reunion;Reunion;Ρεϋνιόν;Reunion;Reunion;Reunion;Reunion;Reunión;Reunion;Reunion;Reunion;La Réunion;La Réunion;Réunion;Reunion;Reunion;Reunion;Reunion;Reunion;Reunion;Réunion;Reunion;Reunion;レユニオン;Reunion;리유니언;Reunion;Reunion;Reunion;Reunion;Reunion;Reunion;Reunion;Reunion;Réunion;Reunion;Reunion;Reunion;Reunion;Reunion;Reunião;Reunião;Reunion;Reunion;Reunion;Reunion;Reunion;Reunion;Reunion;Реинион;Réunion;Reunion;Reunion;Reunion;Reunion;Reunion;Reunion;留尼汪岛;留尼旺島
|
||||||
|
RO;Romania;Romania;Romania;Romania;Romania;Romania;Romania;Romania;Rumänien;Ρουμανία;Romania;Romania;Romania;Romania;Rumania;Romania;Romania;Romania;Roumanie;Roumanie;An Rómáin;Romania;Romania;Romania;Romania;Romania;Romania;Romania;Romania;Romania;ルーマニア;Romania;루마니아;Romania;Romania;Romania;Romania;Romania;Romania;Romania;Romania;Roemenië;Romania;Romania;Romania;Rumunia;Romania;Romênia;Romênia;România;Румыния;Romania;Romania;Romania;Romania;Romania;Румунија;Rumänien;รูเมเนีย;Romania;Romania;Romania;Romania;Ru-ma-ni;罗马尼亚;羅馬尼亞
|
||||||
|
RS;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbien;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbie;Serbie;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;セルビア;Serbia;세르비아;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Servië;Serbia;Serbia;Serbia;Serbia;Serbia;Sérvia;Sérvia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;Serbien;Serbia;Serbia;Serbia;Serbia;Serbia;Serbia;塞尔维亚;塞爾維亞
|
||||||
|
RU;Russia;Russia;Russia;Russia;Russia;Rússia;Russia;Russia;Russland;Ρωσία;Russia;Russia;Russia;Russia;Rusia;Russia;Russia;Venäjä;Russie;Russie;Cónaidhm na Rúise;Russia;Russia;Russia;Russia;Russia;Russia;Rusia;Russia;Russia;ロシア;Russia;러시아;Russia;Russia;Russia;Russia;Russia;Russia;Russia;Russia;Rusland;Russia;Russia;Russia;Rosja;Russia;Rússia;Rússia;Russia;Россия;Russia;Russia;Russia;Russia;Russia;Русија;Ryssland;รัสเซีย;Russia;Russia;Russia;Russia;Nga;俄罗斯;俄羅斯聯邦
|
||||||
|
RW;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Ruanda;Ρουάντα;Rwanda;Rwanda;Rwanda;Rwanda;Ruanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Ruanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Ruanda;ルワンダ;Rwanda;르완다;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Ruanda;Ruanda;Rwanda;Руанда;Rwanda;Rwanda;Rwanda;Rwanda;Rwanda;Руанда;Rwanda;ราวัลดา;Rwanda;Rwanda;Rwanda;Rwanda;Ru-an-đa;卢旺达;盧安達
|
||||||
|
SA;السعودية;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saudi Arabia;Aràbia Saudí;Saudi Arabia;Saudi Arabia;Saudi-Arabien;Σαουδική Αραβία;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saudi Arabia;Arabia Saudita;Saudi Arabia;Saudi Arabia;Saudi Arabia;Arabie Saoudite;Arabie Saoudite;An Araib Shádach;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saudi Arabia;Arab Saudi;Saudi Arabia;Arabia Saudita;サウジアラビア;Saudi Arabia;사우디아라비아;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saoedi-Arabië;Saudi Arabia;Saudi Arabia;Saudi Arabia;Arabia Saudyjska;Saudi Arabia;Arábia Saudita;Arábia Saudita;Saudi Arabia;Саудовская Аравия;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saudi Arabia;Саудијска Арабија;Saudiarabien;ซาอุดิอาระเบีย;Saudi Arabia;Saudi Arabia;Saudi Arabia;Saudi Arabia;A-rập Xê-út;沙特阿拉伯;沙烏地阿拉伯
|
||||||
|
SB;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon-Inseln;Νήσοι Σολομώντος;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Islas Salomón;Solomon Islands;Solomon Islands;Solomon Islands;Îles Salomon;Îles Salomon;Oileáin Solomon;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Kepulauan Solomon;Solomon Islands;Isole Solomon;ソロモン諸島;Solomon Islands;솔로몬 제도;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Salomonseilanden;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Ilhas Salomão;Ilhas Salomão;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Соломонска Острва;Salomonöarna;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Solomon Islands;Quần đảo Xô-lô-mông;所罗门群岛;索羅門群島
|
||||||
|
SC;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychellen;Σεϋχέλλες;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Na Séiséil;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;セイシェル;Seychelles;쉐이쉘;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Seychellen;Seychelles;Seychelles;Seychelles;Seszele;Seychelles;Seychelles;Seychelles;Seychelles;Сейшельские Острова;Seychelles;Seychelles;Seychelles;Seychelles;Seychelles;Сејшели;Seychellerna;เซย์แชลล์;Seychelles;Seychelles;Seychelles;Seychelles;Xây-sen;塞舌尔群岛;塞席爾
|
||||||
|
SD;السودان;Sudan;Sudan;Sudan;Sudan;Sudan;Sudan;Sudan;Sudan;Σουδάν;Sudan;Sudan;Sudan;Sudan;Sudán;Sudan;Sudan;Sudan;Soudan;Soudan;An tSúdáin;Sudan;Sudan;Sudan;Sudan;Sudan;Sudan;Sudan;Sudan;Sudan;スーダン;Sudan;수단;Sudan;Sudan;Sudan;Sudan;Sudan;Sudan;Sudan;Sudan;Soedan;Sudan;Sudan;Sudan;Sudan;Sudan;Sudão;Sudão;Sudan;Судан;Sudan;Sudan;Sudan;Sudan;Sudan;Судан;Sudan;ซูดาน;Sudan;Sudan;Sudan;Sudan;Xu-đăng;苏丹;蘇丹
|
||||||
|
SE;Sweden;Sweden;Sweden;Sweden;Sweden;Suècia;Sweden;Sweden;Schweden;Σουηδία;Sweden;Sweden;Sweden;Sweden;Suecia;Sweden;Sweden;Ruotsi;Suède;Suède;An tSualainn;Sweden;Sweden;Sweden;Sweden;Sweden;Sweden;Sweden;Sweden;Svezia;スウェーデン;Sweden;스웨덴;Sweden;Sweden;Sweden;Sweden;Sweden;Sweden;Sweden;Sweden;Zweden;Sweden;Sweden;Sweden;Szwecja;Sweden;Suécia;Suécia;Sweden;Швеция;Sweden;Sweden;Sweden;Sweden;Sweden;Шведска;Sverige;สวีเดน;Sweden;Sweden;Sweden;Sweden;Thụy Điển;瑞典;瑞典
|
||||||
|
SG;Singapore;Singapore;Singapore;Singapore;Singapore;Singapur;Singapore;Singapore;Singapur;Σιγκαπούρη;Singapore;Singapore;Singapore;Singapore;Singapur;Singapore;Singapore;Singapore;Singapour;Singapour;Singeapór;Singapore;Singapore;Singapore;Singapore;Singapore;Singapore;Singapura;Singapore;Singapore;シンガポール;Singapore;싱가포르;Singapore;Singapore;Singapore;Singapore;Singapore;Singapore;Singapore;Singapore;Singapore;Singapore;Singapore;Singapore;Singapur;Singapore;Cingapura;Cingapura;Singapore;Сингапур;Singapore;Singapore;Singapore;Singapore;Singapore;Сингапур;Singapore;สิงคโปร์;Singapore;Singapore;Singapore;Singapore;Xin-ga-po;新加坡;新加坡
|
||||||
|
SH;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;St. Helena;Αγία Ελένη;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Santa Helena;Saint Helena;Saint Helena;Saint Helena;Sainte-Hélène;Sainte-Hélène;San Héilin;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Sant'Elena;セントヘレナ島;Saint Helena;세인트 헬레나;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Sint-Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Santa Helena;Santa Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Света Јелена;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;Saint Helena;圣赫勒拿岛;聖赫拿勒島
|
||||||
|
SI;Slovenia;Slovenia;Slovenia;Slovenia;Slovenia;Eslovènia;Slovenia;Slovenia;Slowenien;Σλοβενία;Slovenia;Slovenia;Slovenia;Slovenia;Eslovenia;Slovenia;Slovenia;Slovenia;Slovénie;Slovénie;An tSlóvéin;Slovenia;Slovenia;Slovenia;Slovenia;Slovenia;Slovenia;Slovenia;Slovenia;Slovenia;スロベニア;Slovenia;슬로베니아;Slovenia;Slovenia;Slovenia;Slovenia;Slovenia;Slovenia;Slovenia;Slovenia;Slovenië;Slovenia;Slovenia;Slovenia;Słowenia;Slovenia;Eslovênia;Eslovênia;Slovenia;Словения;Slovenia;Slovenia;Slovenia;Slovenija;Slovenia;Словенија;Slovenien;สโลวิเนีย;Slovenia;Slovenia;Slovenia;Slovenia;Xlô-ven-ni-a;斯洛文尼亚;斯洛維尼亞
|
||||||
|
SJ;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard und Jan Mayen;Νήσοι Σβάλμπαρ και Γιαν Μαγιέν;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard y Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard et Jan Mayen;Svalbard et Jan Mayen;Svalbard agus Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard dan Jan Mayen;Svalbard And Jan Mayen;Svalbard e Jan Mayen;スバールバル諸島・ヤンマイエン島;Svalbard And Jan Mayen;스발바르 및 얀마웬;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard en Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard e Jan Mayen;Svalbard e Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Свалбард и Јанмајен Острва;Svalbard och Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;Svalbard And Jan Mayen;斯瓦尔巴特和扬马延岛;冷岸和央麥恩島
|
||||||
|
SK;Slovakia;Slovakia;Slovakia;Slovakia;Slovakia;Eslovàquia;Slovakia;Slovakia;Slowakei;Σλοβακία;Slovakia;Slovakia;Slovakia;Slovakia;Eslovaquia;Slovakia;Slovakia;Slovakia;Slovaquie;Slovaquie;An tSlóvaic;Slovakia;Slovakia;Slovakia;Slovakia;Slovakia;Slovakia;Slovakia;Slovakia;Slovacchia;スロバキア;Slovakia;슬로바키아;Slovakia;Slovakia;Slovakia;Slovakia;Slovakia;Slovakia;Slovakia;Slovakia;Slowakije;Slovakia;Slovakia;Slovakia;Słowacja;Slovakia;Eslováquia;Eslováquia;Slovakia;Словакия;Slovakia;Slovakia;Slovenská republika;Slovakia;Slovakia;Словачка;Slovakien;สโลวาเกีย;Slovakia;Slovakia;Slovakia;Slovakia;Xlô-va-ki-a;斯洛伐克;斯洛伐克
|
||||||
|
SL;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Σιέρα Λεόνε;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leona;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Siarra Leon;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;シエラレオネ;Sierra Leone;시에라리온;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Serra Leoa;Serra Leoa;Sierra Leone;Сьерра-Леоне;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Сијера Леоне;Sierra Leone;เซียร์ร่าลีออน;Sierra Leone;Sierra Leone;Sierra Leone;Sierra Leone;Xi-ê-ra Lê-ôn;塞拉里昂;獅子山
|
||||||
|
SM;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;Άγιος Μαρίνος;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;Saint-Marin;Saint-Marin;San Mairíne;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;サンマリノ;San Marino;산마리노;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;Сан Марино;San Marino;San Marino;San Marino;San Marino;San Marino;San Marino;Xan Ma-ri-nô;圣马力诺;聖馬力諾
|
||||||
|
SN;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Σενεγάλη;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Sénégal;Sénégal;An tSeineagáil;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;セネガル;Senegal;세네갈;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Senegal;Сенегал;Senegal;Senegal;Senegal;Senegal;Senegal;Сенегал;Senegal;ซินีกัล;Senegal;Senegal;Senegal;Senegal;Xê-nê-gan;塞内加尔;塞內加爾
|
||||||
|
SO;Somalia;Somalia;Somalia;Somalia;Somalia;Somàlia;Somalia;Somalia;Somalia;Σομαλία;Somalia;Somalia;Somalia;Somalia;Somalia;Somalia;Somalia;Somalia;Somalie;Somalie;An tSomáil;Somalia;Somalia;Somalia;Somalia;Somalia;Somalia;Somalia;Somalia;Somalia;ソマリア;Somalia;소말리아;Somalia;Somalia;Somalia;Somalia;Somalia;Somalia;Somalia;Somalia;Somalië;Somalia;Somalia;Somalia;Somalia;Somalia;Somália;Somália;Somalia;Сомали;Somalia;Somalia;Somalia;Somalia;Somalia;Сомалија;Somalia;โซมาเลีย;Somalia;Somalia;Somalia;Somalia;Xô-ma-li;索马里;索馬利亞
|
||||||
|
SR;Suriname;Suriname;Suriname;Suriname;Suriname;Surinam;Suriname;Suriname;Suriname;Σουρινάμ;Suriname;Suriname;Suriname;Suriname;Surinam;Suriname;Suriname;Suriname;Suriname;Suriname;Suranam;Suriname;Suriname;Suriname;Suriname;Suriname;Suriname;Suriname;Suriname;Suriname;スリナム;Suriname;수리남;Suriname;Suriname;Suriname;Suriname;Suriname;Suriname;Suriname;Suriname;Suriname;Suriname;Suriname;Suriname;Surinam;Suriname;Suriname;Suriname;Suriname;Суринам;Suriname;Suriname;Suriname;Suriname;Suriname;Суринам;Surinam;ซูรินามิ;Suriname;Suriname;Suriname;Suriname;Xu-ri-nam;苏里南;蘇利南
|
||||||
|
SS;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;Südsudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;Sudán del Sur;South Sudan;South Sudan;South Sudan;Sud-Soudan;Sud-Soudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;Sudan del Sud;南スーダン;South Sudan;남수단;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;Sydsudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;South Sudan;南苏丹;南蘇丹
|
||||||
|
ST;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome und Principe;Σάο Τομέ και Πρίνσιπε;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Santo Tomé y Príncipe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tomé et Principe;Sao Tomé et Principe;Sao Tome agus Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome dan Principe;Sao Tome And Principe;São Tomé e Principe;サントメ・プリンシペ;Sao Tome And Principe;상투메 프린시페;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tomé en Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;São Tomé e Príncipe;São Tomé e Príncipe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Сао Томе и Принципи;São Tomé och Príncipe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Sao Tome And Principe;Xao Tô-mê và Prin-xi-pê;圣多美和普林西比;聖多美
|
||||||
|
SV;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;Ελ Σαλβαδόρ;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;An tSalvadóir;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;エルサルバドル;El Salvador;엘살바도르;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;Salwador;El Salvador;El Salvador;El Salvador;El Salvador;Сальвадор;El Salvador;El Salvador;El Salvador;El Salvador;El Salvador;Салвадор;El Salvador;เอลซาวาดอร์;El Salvador;El Salvador;El Salvador;El Salvador;En-san-va-đo;萨尔瓦多;薩爾瓦多
|
||||||
|
SX;Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Niederländischer Teil);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);San Martín (región holandesa);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Saint-Martin (partie néerlandaise);Saint-Martin (partie néerlandaise);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (parte olandese);シントマールテン(オランダ領);Sint Maarten (Dutch part);신트마르텐(네덜란드령);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (nederländska delen);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);Sint Maarten (Dutch part);荷属圣马丁岛;聖馬丁 (荷蘭部分)
|
||||||
|
SY;سوريا;Syria;Syria;Syria;Syria;Síria;Syria;Syria;Syrien;Συρία, Αραβική Δημοκρατία της;Syria;Syria;Syria;Syria;Siria;Syria;Syria;Syria;Syrie;Syrie;An tSiria;Syria;Syria;Syria;Syria;Syria;Syria;Syria;Syria;Siria;シリア;Syria;시리아;Syria;Syria;Syria;Syria;Syria;Syria;Syria;Syria;Syrië;Syria;Syria;Syria;Syria;Syria;Síria;Síria;Syria;Сирия;Syria;Syria;Syria;Syria;Syria;Сирија;Syrien;ซีเรีย;Syria;Syria;Syria;Syria;Xi-ri;叙利亚;敘利亞
|
||||||
|
SZ;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Swazilàndia;Swaziland;Swaziland;Swasiland;Σουαζιλάνδη;Swaziland;Swaziland;Swaziland;Swaziland;Suazilandia;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;An tSuasalainn;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;スワジランド;Swaziland;스와질랜드;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Suazi;Swaziland;Suazilândia;Suazilândia;Swaziland;Свазиленд;Swaziland;Swaziland;Swaziland;Swaziland;Swaziland;Свазиленд;Swaziland;สวาซิแลนด์;Swaziland;Swaziland;Swaziland;Swaziland;Xoa-di-len;斯威士兰;史瓦濟蘭
|
||||||
|
TC;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks- und Caicos-Inseln;Νήσοι Τερκς και Κάικος;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Islas Turcas y Caicos;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Îles Turks et Caicos;Îles Turks et Caicos;Oileáin Turks agus Caicos;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Isole Turks e Caicos;タークス諸島・カイコス諸島;Turks And Caicos Islands;터크스 케이커스 제도;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks- en Caicoseilanden;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Ilhas Turks e Caicos;Ilhas Turks e Caicos;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Туркс и Кајкос Острва;Turks- och Caicosöarna;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;Turks And Caicos Islands;特克斯群岛和凯科斯群岛;土克斯和開卡斯群島
|
||||||
|
TD;Chad;Chad;Chad;Chad;Chad;Txad;Chad;Chad;Tschad;Τσαντ;Chad;Chad;Chad;Chad;Chad;Chad;Chad;Chad;Tchad;Tchad;Sead;Chad;Chad;Chad;Chad;Chad;Chad;Chad;Chad;Ciad;チャド;Chad;차드;Chad;Chad;Chad;Chad;Chad;Chad;Chad;Chad;Tsjaad;Chad;Chad;Chad;Czad;Chad;Chade;Chade;Chad;Чад;Chad;Chad;Chad;Chad;Chad;Чад;Tchad;ชาด;Chad;Chad;Chad;Chad;Sát;乍得;查德
|
||||||
|
TF;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;Territoris Meridionals Francesos ??;French Southern Territories;French Southern Territories;Französische Südgebiete;Γαλλικά Νότια Εδάφη;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;Territorios Franceses del Sur;French Southern Territories;French Southern Territories;French Southern Territories;Territoires Français du Sud;Territoires Français du Sud;Críocha Francacha Theas;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;Territori Francesi d'Oltremare;フランス領極南諸島;French Southern Territories;프랑스 남부 지방;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;Franse Gebieden in de zuidelijke Indische Oceaan;French Southern Territories;French Southern Territories;French Southern Territories;Francuskie Terytoria Zamorskie;French Southern Territories;Territórios Franceses do Sul;Territórios Franceses do Sul;French Southern Territories;французские южные территории;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;Француске Јужне Територије;Franska södra territorierna;อาณาเขตทางใต้ของฝรั่งเศส;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;French Southern Territories;法属南特立尼达;法國南方領地
|
||||||
|
TG;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Τόγκο;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Tóga;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;トーゴ;Togo;토고;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Togo;Того;Togo;Togo;Togo;Togo;Togo;Того;Togo;โตโก;Togo;Togo;Togo;Togo;Tô-gô;多哥;多哥
|
||||||
|
TH;Thailand;Thailand;Thailand;Thailand;Thailand;Tailàndia;Thailand;Thailand;Thailand;Ταϊλάνδη;Thailand;Thailand;Thailand;Thailand;Tailandia;Thailand;Thailand;Thailand;Thaïlande;Thaïlande;An Téalainn;Thailand;Thailand;Thailand;Thailand;Thailand;Thailand;Thailand;Thailand;Thailandia;タイ;Thailand;태국;Thailand;Thailand;Thailand;Thailand;Thailand;Thailand;Thailand;Thailand;Thailand;Thailand;Thailand;Thailand;Tajlandia;Thailand;Tailândia;Tailândia;Thailand;Таиланд;Thailand;Thailand;Thailand;Thailand;Thailand;Тајланд;Thailand;ประเทศไทย;Thailand;Thailand;Thailand;Thailand;Thái Lan;泰国;泰國
|
||||||
|
TJ;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tadjikistan;Tajikistan;Tajikistan;Tadschikistan;Τατζικιστάν;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tayikistán;Tajikistan;Tajikistan;Tajikistan;Tadjikistan;Tadjikistan;An Táidsíceastáin;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tagikistan;タジキスタン;Tajikistan;타지키스탄;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tadzjikistan;Tajikistan;Tajikistan;Tajikistan;Tadżykistan;Tajikistan;Tadjiquistão;Tadjiquistão;Tajikistan;Таджикистан;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Таџикистан;Tadzjikistan;ทาจิกิสถาน;Tajikistan;Tajikistan;Tajikistan;Tajikistan;Tát-gi-ki-xtan;塔吉克斯坦;塔吉克
|
||||||
|
TK;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Τοκελάου;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tócalá;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;トケラウ諸島;Tokelau;토켈라우;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Токелау;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;Токелау;Tokelau;โทกิโล;Tokelau;Tokelau;Tokelau;Tokelau;Tokelau;联合群岛;托克勞群島
|
||||||
|
TL;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Ανατολικό Τιμόρ;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor Oriental;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Tíomór-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor Leste;東ティモール;Timor-Leste;동티모르;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Oost-Timor;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Тимор-Лесте;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;Timor-Leste;东帝汶;東帝汶
|
||||||
|
TM;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Τουρκμενιστάν;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistán;Turkmenistan;Turkmenistan;Turkmenistan;Turkménistan;Turkménistan;An Tuircméanastáin;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;トルクメニスタン;Turkmenistan;투르크메니스탄;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turcomenistão;Turcomenistão;Turkmenistan;Туркменистан;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Туркменистан;Turkmenistan;เติร์กเมนิสถาน;Turkmenistan;Turkmenistan;Turkmenistan;Turkmenistan;Tuốc-mê-ni-xtan;土库曼斯坦;土庫曼
|
||||||
|
TN;تونس;Tunisia;Tunisia;Tunisia;Tunisia;Tunísia;Tunisia;Tunisia;Tunesien;Τυνησία;Tunisia;Tunisia;Tunisia;Tunisia;Túnez;Tunisia;Tunisia;Tunisia;Tunisie;Tunisie;An Túinéis;Tunisia;Tunisia;Tunisia;Tunisia;Tunisia;Tunisia;Tunisia;Tunisia;Tunisia;チュニジア;Tunisia;튀니지;Tunisia;Tunisia;Tunisia;Tunisia;Tunisia;Tunisia;Tunisia;Tunisia;Tunesië;Tunisia;Tunisia;Tunisia;Tunezja;Tunisia;Tunísia;Tunísia;Tunisia;Тунис;Tunisia;Tunisia;Tunisia;Tunisia;Tunisia;Тунис;Tunisien;ตูนิเซีย;Tunisia;Tunisia;Tunisia;Tunisia;Tuy-ni-di;突尼斯;突尼西亞
|
||||||
|
TO;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Τόνγκα;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;トンガ;Tonga;통가;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Tonga;Тонга;Tonga;Tonga;Tonga;Tonga;Tonga;Тонга;Tonga;ทองก้า;Tonga;Tonga;Tonga;Tonga;Tông-ga;汤加;東加
|
||||||
|
TR;Turkey;Turkey;Turkey;Turkey;Turkey;Turquia;Turkey;Turkey;Türkei;Τουρκία;Turkey;Turkey;Turkey;Turkey;Turquía;Turkey;Turkey;Turkki;Turquie;Turquie;An Tuirc;Turkey;Turkey;Turkey;Turkey;Turkey;Turkey;Turkey;Turkey;Turchia;トルコ;Turkey;터키;Turkey;Turkey;Turkey;Turkey;Turkey;Turkey;Turkey;Turkey;Turkije;Turkey;Turkey;Turkey;Turcja;Turkey;Turquia;Turquia;Turkey;Турция;Turkey;Turkey;Turkey;Turkey;Turkey;Турска;Turkiet;ตุรกี;Türkiye;Turkey;Turkey;Turkey;Thổ Nhĩ Kỳ;土耳其;土耳其
|
||||||
|
TT;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinitat i Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad und Tobago;Τρινιδάδ και Τομπάγκο;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad y Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinité-et-Tobago;Trinité-et-Tobago;Oileáin na Tríonóide agus Tobága;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad dan Tobago;Trinidad and Tobago;Trinidad e Tobago;トリニダード・トバゴ;Trinidad and Tobago;트리니다드 토바고;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad en Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trynidad i Tobago;Trinidad and Tobago;Trinidad e Tobago;Trinidad e Tobago;Trinidad and Tobago;Тринидад и Тобаго;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Тринидад и Тобаго;Trinidad och Tobago;ทรินิแดด และโทบาโก;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Trinidad and Tobago;Tri-ni-đát và Tô-ba-gô;特立尼达和多巴哥;千里達及托巴哥
|
||||||
|
TV;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Τουβαλού;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalú;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;ツバル;Tuvalu;투발루;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Тувалу;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tuvalu;Tu-va-lu;图瓦卢;吐瓦魯
|
||||||
|
TW;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Ταϊβάν;Taiwan;Taiwan;Taiwan;Taiwan;Taiwán;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;An Téaváin;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;台湾;Taiwan;대만;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Tajwan;Taiwan;Taiwan;Taiwan;Taiwan;Тайвань;Taiwan;Taiwan;Taiwan;Taiwan;Taiwan;Тајван;Taiwan;ไต้หวัน;Taiwan;Taiwan;Taiwan;Taiwan;Đài Loan;台湾地区;台灣
|
||||||
|
TZ;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzània;Tanzania;Tanzania;Tansania;Τανζανία;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzanie;Tanzanie;An Tansáin;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;タンザニア;Tanzania;탄자니아;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Tanzânia;Tanzânia;Tanzania;Танзания;Tanzania;Tanzania;Tanzania;Tanzania;Tanzania;Танзанија;Tanzania;ทานซาเนีย;Tanzania;Tanzania;Tanzania;Tanzania;Tan-da-ni-a;坦桑尼亚;坦尚尼亞
|
||||||
|
UA;Ukraine;Ukraine;Ukraine;Ukraine;Ukraine;Ucraïna;Ukraine;Ukraine;Ukraine;Ουκρανία;Ukraine;Ukraine;Ukraine;Ukraine;Ucrania;Ukraine;Ukraine;Ukraine;Ukraine;Ukraine;An Úcráin;Ukraine;Ukraine;Ukraine;Ukraine;Ukraine;Ukraine;Ukraina;Ukraine;Ucraina;ウクライナ;Ukraine;우크라이나;Ukraine;Ukraine;Ukraine;Ukraine;Ukraine;Ukraine;Ukraine;Ukraine;Oekraïne;Ukraine;Ukraine;Ukraine;Ukraina;Ukraine;Ucrânia;Ucrânia;Ukraine;Украина;Ukraine;Ukraine;Ukraine;Ukraine;Ukraine;Украјина;Ukraina;ยูเครน;Ukraine;Ukraine;Україна;Ukraine;U-crai-na;乌克兰;烏克蘭
|
||||||
|
UG;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Ουγκάντα;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Ouganda;Ouganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;ウガンダ;Uganda;우간다;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Oeganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Uganda;Уганда;Uganda;Uganda;Uganda;Uganda;Uganda;Уганда;Uganda;อูกานดา;Uganda;Uganda;Uganda;Uganda;U-gan-đa;乌干达;烏干達
|
||||||
|
UM;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;Übrige Inseln im Pazifik der USA;Απομακρυσμένες Νησίδες των Ηνωμένων Πολιτειών;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;Islas menores alejadas de los Estados Unidos;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;Dépendances américaines du Pacifique;Dépendances américaines du Pacifique;Mion-Oileáin Imeallacha S.A.M.;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;Isole minori lontane degli Stati Uniti;米領太平洋諸島;United States Minor Outlying Islands;미국령 군도;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;Amerikaanse kleinere afgelegen eilanden;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;Ilhas Menores Distantes dos Estados Unidos;Ilhas Menores Distantes dos Estados Unidos;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;Мања удаљена острва САД;Förenta staternas mindre öar i Oceanien och Västindien;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;United States Minor Outlying Islands;美属小奥特兰群岛;美國外島
|
||||||
|
US;United States;United States;United States;United States;United States;Estats Units;United States;United States;Vereinigte Staaten von Amerika;Ηνωμένες Πολιτείες;United States;United States;United States;United States;Estados Unidos;United States;United States;Yhdysvallat;Etats-Unis;Etats-Unis;Stáit Aontaithe Mheiriceá;United States;United States;United States;United States;United States;United States;Amerika Serikat;United States;Stati Uniti;アメリカ合衆国;United States;미국;United States;United States;United States;United States;United States;United States;United States;United States;Verenigde Staten;United States;United States;United States;Stany Zjednoczone Ameryki;United States;Estados Unidos;Estados Unidos;United States;Соединенные Штаты;United States;United States;United States;United States;United States;Сједињене Америчке Државе;Amerikas Förenta Stater;สหรัฐอเมริกา;United States;United States;United States;United States;Hoa Kỳ;美国;美國
|
||||||
|
UY;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguai;Uruguay;Uruguay;Uruguay;Ουρουγουάη;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Urugua;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;ウルグアイ;Uruguay;우루과이;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Urugwaj;Uruguay;Uruguai;Uruguai;Uruguay;Уругвай;Uruguay;Uruguay;Uruguay;Uruguay;Uruguay;Уругвај;Uruguay;อุรูกวัย;Uruguay;Uruguay;Uruguay;Uruguay;U-ru-goay;乌拉圭;烏拉圭
|
||||||
|
UZ;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Usbekistan;Ουζμπεκιστάν;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistán;Uzbekistan;Uzbekistan;Uzbekistan;Ouzbékistan;Ouzbékistan;Úisbéiceastáin;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;ウズベキスタン;Uzbekistan;우즈베키스탄;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Oezbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbequistão;Uzbequistão;Uzbekistan;Узбекистан;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;Узбекистан;Uzbekistan;อุซเบกิสถาน;Uzbekistan;Uzbekistan;Uzbekistan;Uzbekistan;U-dơ-bê-ki-xtan;乌兹别克斯坦;烏茲別克斯坦
|
||||||
|
VA;Vatican;Vatican;Vatican;Vatican;Vatican;Vaticà;Vatican;Vatican;Vatikanstadt;Αγία Έδρα (Βατικανό);Vatican;Vatican;Vatican;Vatican;Ciudad del Vaticano;Vatican;Vatican;Vatican;Vatican;Vatican;An Chathaoir Naofa (Stát Chathair na Vatacáine);Vatican;Vatican;Vatican;Vatican;Vatican;Vatican;Vatikan;Vatican;Città del Vaticano;バチカン;Vatican;바티칸;Vatican;Vatican;Vatican;Vatican;Vatican;Vatican;Vatican;Vatican;Vaticaanstad;Vatican;Vatican;Vatican;Watykan;Vatican;Vaticano;Vaticano;Vatican;Ватикан;Vatican;Vatican;Vatican;Vatican;Vatican;Ватикан;Vatikanen;วาติกัน;Vatican;Vatican;Vatican;Vatican;Va-ti-căng;梵蒂冈;梵帝崗
|
||||||
|
VC;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;St. Vincent und die Grenadinen;Άγιος Βικέντιος και Γρεναδίνες;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;San Vicente y las Granadinas;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint-Vincent-et-les Grenadines;Saint-Vincent-et-les Grenadines;Saint Vincent agus na Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent dan Grenadines;Saint Vincent And The Grenadines;Saint Vincent e Grenadine;セントビンセントおよびグレナディーン諸島;Saint Vincent And The Grenadines;세인트 빈센트 그레나딘스;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent en de Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;São Vicente e Granadinas;São Vicente e Granadinas;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Сент Винсент и Гренадини;Saint Vincent och Grenadinerna;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Saint Vincent And The Grenadines;Xan Vin-xen và Grê-na-din;圣文森特和格林纳丁斯;聖文森及格瑞那丁
|
||||||
|
VE;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Veneçuela;Venezuela;Venezuela;Venezuela;Βενεζουέλα;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Vénézuela;Vénézuela;Veiniséala;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;ベネズエラ;Venezuela;베네수엘라;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Wenezuela;Venezuela;Venezuela;Venezuela;Venezuela;Венесуэла;Venezuela;Venezuela;Venezuela;Venezuela;Venezuela;Венецуела;Venezuela;เวเนซูเอล่า;Venezuela;Venezuela;Venezuela;Venezuela;Vê-nê-zu-ê-la;委内瑞拉;委內瑞拉
|
||||||
|
VG;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;Illes Verges Britàniques;British Virgin Islands;British Virgin Islands;Britische Jungferninseln;Βρετανικές Παρθένοι Νήσοι;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;Islas Vírgenes Británicas;British Virgin Islands;British Virgin Islands;British Virgin Islands;Iles Vierges Britanniques;Iles Vierges Britanniques;Oileáin Bhriotanacha na Maighdean;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;Kepulauan British Virgin;British Virgin Islands;Isole Vergini (GB);英領バージン諸島;British Virgin Islands;영국령 버진 아일랜드;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;Britse Maagdeneilanden;British Virgin Islands;British Virgin Islands;British Virgin Islands;Dziewicze Wyspy Brytyjskie;British Virgin Islands;Ilhas Virgens Britânicas;Ilhas Virgens Britânicas;British Virgin Islands;Британские Виргинские острова;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;Британска Девичанска Острва;Brittiska Virgin Islands;บริทิชเวอร์จินไอส์แลนด์;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;British Virgin Islands;英属维京群岛;英屬維爾京群島
|
||||||
|
VI;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;Illes Verges dels USA;U.S. Virgin Islands;U.S. Virgin Islands;Amerikanische Jungferninseln;Αμερικανικές Παρθένοι Νήσοι;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;Islas Vírgenes Americanas;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;Iles Vierges Américaines;Iles Vierges Américaines;Oileáin na Maighdean S.A.M.;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;Kepulauan U.S. Virgin;U.S. Virgin Islands;Isole Vergini (USA);米領バージン諸島;U.S. Virgin Islands;미국령 버진 아일랜드;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;Amerikaanse Maagdeneilanden;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;Dziewicze Wyspy Stanów Zjednoczonych;U.S. Virgin Islands;Ilhas Virgens dos EUA;Ilhas Virgens dos EUA;U.S. Virgin Islands;Виргинские острова Соединенных Штатов;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;С.А.Д. Девичанска Острва;Amerikanska Virgin Islands;ยูเอสเวอร์จินไอส์แลนด์;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;U.S. Virgin Islands;美属维京群岛;美屬維爾京群島
|
||||||
|
VN;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Βιετνάμ;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vítneam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;ベトナム;Vietnam;베트남;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Wietnam;Vietnam;Vietnã;Vietnã;Vietnam;Вьетнам;Vietnam;Vietnam;Vietnam;Vietnam;Vietnam;Вијетнам;Vietnam;เวียดนาม;Vietnam;Vietnam;Vietnam;Vietnam;Việt Nam;越南;越南
|
||||||
|
VU;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Βανουάτου;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatú;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;バヌアツ;Vanuatu;바누아투;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Вануату;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Вануату;Vanuatu;วานัวตู;Vanuatu;Vanuatu;Vanuatu;Vanuatu;Va-nu-a-tu;瓦努阿图;萬那杜
|
||||||
|
WF;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis und Futuna;Νήσοι Ουαλλίς και Φουτουνά;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis y Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis-et-Futuna;Wallis-et-Futuna;Oileáin Vailís agus Futúna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis dan Futuna;Wallis And Futuna;Wallis e Futuna;ワリス・フテュナ諸島;Wallis And Futuna;윌리스 푸투나;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis en Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis e Futuna;Wallis e Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Валис и Футуна Острва;Wallis och Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;Wallis And Futuna;瓦利斯群岛和富图纳群岛;沃利斯和富突納
|
||||||
|
WS;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Σαμόα;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samó;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;西サモア;Samoa;사모아;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Самоа;Samoa;Samoa;Samoa;Samoa;Samoa;Samoa;Xa-moa;东萨摩亚;薩摩亞
|
||||||
|
YE;اليمن;Yemen;Yemen;Yemen;Yemen;Iemen;Yemen;Yemen;Jemen;Υεμένη;Yemen;Yemen;Yemen;Yemen;Yemen;Yemen;Yemen;Yemen;Yémen;Yémen;Éimin;Yemen;Yemen;Yemen;Yemen;Yemen;Yemen;Yaman;Yemen;Yemen;イエメン;Yemen;예멘;Yemen;Yemen;Yemen;Yemen;Yemen;Yemen;Yemen;Yemen;Jemen;Yemen;Yemen;Yemen;Jemen;Yemen;Iêmen;Iêmen;Yemen;Йемен;Yemen;Yemen;Yemen;Yemen;Yemen;Јемен;Jemen;เยเมน;Yemen;Yemen;Yemen;Yemen;Y-ê-men;也门;葉門
|
||||||
|
YT;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Μαγιότ;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotta;マヨット島;Mayotte;마요티;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Майотте;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;Мајоте;Mayotte;มายอต;Mayotte;Mayotte;Mayotte;Mayotte;Mayotte;马约特岛;馬約特島
|
||||||
|
ZA;South Africa;South Africa;South Africa;South Africa;South Africa;Sud-àfrica;South Africa;South Africa;Südafrika;Νότια Αφρική;South Africa;South Africa;South Africa;South Africa;Sudáfrica;South Africa;South Africa;South Africa;Afrique du Sud;Afrique du Sud;An Afraic Theas;South Africa;South Africa;South Africa;South Africa;South Africa;South Africa;Afrika Selatan;South Africa;Sudafrica;南アフリカ;South Africa;남아프리카;South Africa;South Africa;South Africa;South Africa;South Africa;South Africa;South Africa;South Africa;Zuid-Afrika;South Africa;South Africa;South Africa;Republika Południowej Afryki;South Africa;África do Sul;África do Sul;South Africa;Южная Африка;South Africa;South Africa;South Africa;South Africa;South Africa;Јужноафричка Република;Sydafrika;แอฟริกาใต้;South Africa;South Africa;South Africa;South Africa;Nam Phi;南非;南非
|
||||||
|
ZM;Zambia;Zambia;Zambia;Zambia;Zambia;Zàmbia;Zambia;Zambia;Sambia;Ζάμπια;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambie;Zambie;An tSaimbia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;ザンビア;Zambia;잠비아;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zambia;Zâmbia;Zâmbia;Zambia;Замбия;Zambia;Zambia;Zambia;Zambia;Zambia;Замбија;Zambia;แซมเบีย;Zambia;Zambia;Zambia;Zambia;Dăm-bi-a;赞比亚;尚比亞
|
||||||
|
ZW;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Simbabwe;Ζιμπάμπουε;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabue;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;An tSiombáib;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;ジンバブエ;Zimbabwe;짐바브웨;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbábue;Zimbábue;Zimbabwe;Зимбабве;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Зимбабве;Zimbabwe;ซิมบาบเว;Zimbabwe;Zimbabwe;Zimbabwe;Zimbabwe;Dim-ba-bu-ê;津巴布韦;辛巴威
|
||||||
|
40
data/emoji_used.txt
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
# List of emojis separated with newline used in on-screen keyboard
|
||||||
|
# Only top 38 will be used
|
||||||
|
🎉
|
||||||
|
👀
|
||||||
|
✌️
|
||||||
|
👉
|
||||||
|
👌
|
||||||
|
👍
|
||||||
|
👎
|
||||||
|
👏
|
||||||
|
❤️
|
||||||
|
💔
|
||||||
|
💯
|
||||||
|
🔥
|
||||||
|
😁
|
||||||
|
😂
|
||||||
|
😄
|
||||||
|
😅
|
||||||
|
😉
|
||||||
|
☺️
|
||||||
|
😋
|
||||||
|
🤔
|
||||||
|
😍
|
||||||
|
😎
|
||||||
|
😏
|
||||||
|
😑
|
||||||
|
😒
|
||||||
|
😔
|
||||||
|
😕
|
||||||
|
😘
|
||||||
|
😜
|
||||||
|
😞
|
||||||
|
😢
|
||||||
|
😩
|
||||||
|
😪
|
||||||
|
😭
|
||||||
|
😳
|
||||||
|
😴
|
||||||
|
🙌
|
||||||
|
🙏
|
||||||
@@ -26,6 +26,7 @@
|
|||||||
<card contains="Gallium" os="linux" version="<11.2" disable="GeometryShader"/>
|
<card contains="Gallium" os="linux" version="<11.2" disable="GeometryShader"/>
|
||||||
<card contains="Gallium" os="linux" version="<11.2" disable="TextureCompressionS3TC"/>
|
<card contains="Gallium" os="linux" version="<11.2" disable="TextureCompressionS3TC"/>
|
||||||
<card vendor="nouveau" os="linux" version=">=17.2" disable="TextureBufferObject"/>
|
<card vendor="nouveau" os="linux" version=">=17.2" disable="TextureBufferObject"/>
|
||||||
|
<card contains="AMD" os="linux" disable="Correct10bitNormalization"/>
|
||||||
<!-- On osx radeon appears to have different version numbers, e.g.
|
<!-- On osx radeon appears to have different version numbers, e.g.
|
||||||
1.32.20 -->
|
1.32.20 -->
|
||||||
<card contains="Radeon" os="linux" version="<14.300" disable="DriverRecentEnough"/>
|
<card contains="Radeon" os="linux" version="<14.300" disable="DriverRecentEnough"/>
|
||||||
@@ -36,7 +37,10 @@
|
|||||||
<card os="android" disable="ColorBufferFloat"/>
|
<card os="android" disable="ColorBufferFloat"/>
|
||||||
<card os="android" disable="TextureCompressionS3TC"/>
|
<card os="android" disable="TextureCompressionS3TC"/>
|
||||||
<card contains="Adreno" os="android" version="<=19" disable="VertexIdWorking"/>
|
<card contains="Adreno" os="android" version="<=19" disable="VertexIdWorking"/>
|
||||||
|
<card os="android" version="<19" disable="SystemScreenKeyboard"/>
|
||||||
<card contains="Android Emulator" os="android" disable="ForceLegacyDevice"/>
|
<card contains="Android Emulator" os="android" disable="ForceLegacyDevice"/>
|
||||||
<card contains="Android Emulator" os="android" disable="NpotTextures"/>
|
<card contains="Android Emulator" os="android" disable="NpotTextures"/>
|
||||||
|
<card contains="Apple Software Renderer" os="ios" disable="ForceLegacyDevice"/>
|
||||||
|
<card contains="Apple Software Renderer" os="ios" disable="NpotTextures"/>
|
||||||
<card vendor="Broadcom" os="linux" disable="HighDefinitionTextures256"/>
|
<card vendor="Broadcom" os="linux" disable="HighDefinitionTextures256"/>
|
||||||
</graphical-restrictions>
|
</graphical-restrictions>
|
||||||
|
|||||||
@@ -14,9 +14,7 @@
|
|||||||
<label id="size" width="100%" text="" />
|
<label id="size" width="100%" text="" />
|
||||||
<label id="revision" width="100%" text="" />
|
<label id="revision" width="100%" text="" />
|
||||||
</div>
|
</div>
|
||||||
<div width="50%" height="32" layout="vertical-row">
|
<ratingbar id="rating" height="1f" width="100%" />
|
||||||
<ratingbar id="rating" height="64" width="100%" />
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<spacer height="10"/>
|
<spacer height="10"/>
|
||||||
<label id="flags" width="100%" text="" word_wrap="true" />
|
<label id="flags" width="100%" text="" word_wrap="true" />
|
||||||
@@ -24,7 +22,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<bubble word_wrap="true" id="description" height="100%" width="90%" proportion="5" align="center" />
|
<bubble word_wrap="true" id="description" height="100%" width="90%" proportion="5" align="center" />
|
||||||
<div width="80%" proportion="5" align="center">
|
|
||||||
|
<spacer proportion="1" />
|
||||||
|
|
||||||
|
<div width="80%" proportion="4" align="center">
|
||||||
<buttonbar id="actions" x="0" y="0" height="100%" width="100%" align="center">
|
<buttonbar id="actions" x="0" y="0" height="100%" width="100%" align="center">
|
||||||
<icon-button id="install" width="128" height="128"
|
<icon-button id="install" width="128" height="128"
|
||||||
icon="gui/icons/package-update.png"
|
icon="gui/icons/package-update.png"
|
||||||
@@ -36,7 +37,7 @@
|
|||||||
icon="gui/icons/back.png"
|
icon="gui/icons/back.png"
|
||||||
I18N="Add-on screen action" text="Back" />
|
I18N="Add-on screen action" text="Back" />
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
<progressbar id="progress" x="0" y="20%" width="100%" height="30%" />
|
<progressbar id="progress" x="0" y="20%" width="100%" height="2f" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -8,12 +8,12 @@
|
|||||||
<spacer height="7%" width="10"/>
|
<spacer height="7%" width="10"/>
|
||||||
|
|
||||||
<ribbon id="control_type" proportion="1" width="100%" align="center">
|
<ribbon id="control_type" proportion="1" width="100%" align="center">
|
||||||
<icon-button id="accelerometer" width="fit" height="fit" icon="gui/icons/difficulty_medium.png"
|
<icon-button id="accelerometer" width="64" height="128"
|
||||||
I18N="Control type" text="Accelerometer"/>
|
icon="gui/icons/android/accelerator.png" I18N="Control type" text="Accelerometer"/>
|
||||||
<icon-button id="gyroscope" width="fit" height="fit" icon="gui/icons/difficulty_best.png"
|
<icon-button id="gyroscope" width="128" height="128"
|
||||||
I18N="Control type" text="Gyroscope"/>
|
icon="gui/icons/android/gyroscope_icon.png" I18N="Control type" text="Gyroscope"/>
|
||||||
<icon-button id="steering_wheel" width="fit" height="fit" icon="gui/icons/difficulty_hard.png"
|
<icon-button id="steering_wheel" width="128" height="128"
|
||||||
I18N="Control type" text="Steering wheel"/>
|
icon="gui/icons/android/steering_wheel.png" I18N="Control type" text="Steering wheel"/>
|
||||||
</ribbon>
|
</ribbon>
|
||||||
|
|
||||||
<spacer height="12%" width="10"/>
|
<spacer height="12%" width="10"/>
|
||||||
@@ -23,9 +23,8 @@
|
|||||||
|
|
||||||
<spacer height="7%" width="10"/>
|
<spacer height="7%" width="10"/>
|
||||||
|
|
||||||
<div width="25%" height="10%" layout="horizontal-row" align="center">
|
<button id="close" text="Apply" align="center"/>
|
||||||
<button id="close" text="Apply" width="100%" height="100%" align="center"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +1,19 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="2%" y="10%" width="96%" height="80%" layout="vertical-row" >
|
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
||||||
<label id="title" width="100%" text_align="top" word_wrap="true" proportion="1" />
|
<label height="65%" id="title" width="100%" text_align="top" word_wrap="true"/>
|
||||||
|
|
||||||
<spacer height="25" width="10" />
|
<spacer height="5%" width="10" />
|
||||||
|
|
||||||
<buttonbar id="buttons" height="30%" width="30%" align="center">
|
<buttonbar id="buttons" height="30%" width="30%" align="center">
|
||||||
|
|
||||||
<icon-button id="confirm" icon="gui/icons/green_check.png" I18N="In a 'are you sure?' dialog"
|
<icon-button id="confirm" width="128" height="128" icon="gui/icons/green_check.png"
|
||||||
text="Yes" align="center"/>
|
I18N="In a 'are you sure?' dialog" text="Yes" align="center"/>
|
||||||
|
|
||||||
<icon-button id="cancel" icon="gui/icons/remove.png" I18N="In a 'are you sure?' dialog"
|
<icon-button id="cancel" width="128" height="128" icon="gui/icons/remove.png"
|
||||||
text="Cancel" align="center"/>
|
I18N="In a 'are you sure?' dialog" text="Cancel" align="center"/>
|
||||||
|
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
<spacer width="20" height="1f" />
|
||||||
<spacer height="10" width="10" />
|
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -3,16 +3,16 @@
|
|||||||
<div x="2%" y="10%" width="96%" height="80%" layout="vertical-row" >
|
<div x="2%" y="10%" width="96%" height="80%" layout="vertical-row" >
|
||||||
<label id="title" width="100%" text_align="center" word_wrap="true" proportion="1" />
|
<label id="title" width="100%" text_align="center" word_wrap="true" proportion="1" />
|
||||||
|
|
||||||
<spacer height="25" width="10" />
|
<spacer height="4%" width="10" />
|
||||||
|
|
||||||
<button id="accept" I18N="In the 'confirm resolution' dialog, that's shown when switching resoluton"
|
<button id="accept" I18N="In the 'confirm resolution' dialog, that's shown when switching resoluton"
|
||||||
text="Keep this resolution" align="center"/>
|
text="Keep this resolution" align="center"/>
|
||||||
|
|
||||||
<spacer height="15" width="10" />
|
<spacer height="3%" width="10" />
|
||||||
|
|
||||||
<button id="cancel" I18N="In the 'confirm resolution' dialog, that's shown when switching resoluton"
|
<button id="cancel" I18N="In the 'confirm resolution' dialog, that's shown when switching resoluton"
|
||||||
text="Cancel" align="center"/>
|
text="Cancel" align="center"/>
|
||||||
|
|
||||||
<spacer height="10" width="10" />
|
<spacer height="2%" width="10" />
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,39 +1,33 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="2%" y="10%" width="96%" height="80%" layout="vertical-row" >
|
<div x="2%" y="6%" width="96%" height="88%" layout="vertical-row" >
|
||||||
<div proportion="1" width="100%" layout="horizontal-row">
|
<div proportion="1" width="100%" layout="horizontal-row">
|
||||||
<label id="Red" raw_text="Red" width="200"/>
|
<label id="Red" raw_text="Red" width="7f"/>
|
||||||
<spacer width="25"/>
|
|
||||||
<gauge id="red_slider" min_value="0" max_value="100" proportion="1"/>
|
<gauge id="red_slider" min_value="0" max_value="100" proportion="1"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div proportion="1" width="100%" layout="horizontal-row">
|
<div proportion="1" width="100%" layout="horizontal-row">
|
||||||
<label id="Green" raw_text="Green" width="200"/>
|
<label id="Green" raw_text="Green" width="7f"/>
|
||||||
<spacer width="25"/>
|
|
||||||
<gauge id="green_slider" min_value="0" max_value="100" proportion="1"/>
|
<gauge id="green_slider" min_value="0" max_value="100" proportion="1"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div proportion="1" width="100%" layout="horizontal-row">
|
<div proportion="1" width="100%" layout="horizontal-row">
|
||||||
<label id="Blue" raw_text="Blue" width="200"/>
|
<label id="Blue" raw_text="Blue" width="7f"/>
|
||||||
<spacer width="25"/>
|
|
||||||
<gauge id="blue_slider" min_value="0" max_value="100" proportion="1"/>
|
<gauge id="blue_slider" min_value="0" max_value="100" proportion="1"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div proportion="1" width="100%" layout="horizontal-row">
|
<div proportion="1" width="100%" layout="horizontal-row">
|
||||||
<label id="SSAO radius" raw_text="SSAO Radius" width="200"/>
|
<label id="SSAO radius" raw_text="SSAO Radius" width="7f"/>
|
||||||
<spacer width="50"/>
|
|
||||||
<gauge id="ssao_radius" min_value="0" max_value="100" proportion="1" />
|
<gauge id="ssao_radius" min_value="0" max_value="100" proportion="1" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div proportion="1" width="100%" layout="horizontal-row">
|
<div proportion="1" width="100%" layout="horizontal-row">
|
||||||
<label id="SSAO k" raw_text="SSAO K" width="200"/>
|
<label id="SSAO k" raw_text="SSAO K" width="7f"/>
|
||||||
<spacer width="25"/>
|
|
||||||
<gauge id="ssao_k" min_value="0" max_value="100" proportion="1"/>
|
<gauge id="ssao_k" min_value="0" max_value="100" proportion="1"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div proportion="1" width="100%" layout="horizontal-row">
|
<div proportion="1" width="100%" layout="horizontal-row">
|
||||||
<label id="SSAO Sigma" raw_text="SSAO sigma" width="200"/>
|
<label id="SSAO Sigma" raw_text="SSAO sigma" width="7f"/>
|
||||||
<spacer width="50"/>
|
|
||||||
<gauge id="ssao_sigma" min_value="0" max_value="100" proportion="1"/>
|
<gauge id="ssao_sigma" min_value="0" max_value="100" proportion="1"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,15 +1,21 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="2%" y="10%" width="96%" height="80%" layout="vertical-row" >
|
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
||||||
<label id="title" raw_text="Text" proportion="1"/>
|
<label id="title" raw_text="Text" width="100%" height="36%"/>
|
||||||
|
|
||||||
<spacer height="7%" width="10" />
|
<spacer height="7%" width="10" />
|
||||||
<textbox id="textfield" width="75%" align="center"/>
|
<textbox id="textfield" width="75%" align="center"/>
|
||||||
|
<spacer height="9%" width="10" />
|
||||||
|
|
||||||
<spacer height="7%" width="20" />
|
<buttonbar id="buttons" height="36%" width="30%" align="center">
|
||||||
<button id="ok" I18N="In the general textfield dialog" text="OK" align="center" proportion="1"/>
|
|
||||||
|
|
||||||
<spacer height="5%" width="20" />
|
<icon-button id="ok" width="128" height="128" icon="gui/icons/green_check.png"
|
||||||
<button id="cancel" I18N="In the general textfield dialog" text="Cancel" align="center" proportion="1"/>
|
I18N="In the general textfield dialog" text="OK" align="center"/>
|
||||||
|
|
||||||
|
<icon-button id="cancel" width="128" height="128" icon="gui/icons/remove.png"
|
||||||
|
I18N="In the general textfield dialog" text="Cancel" align="center"/>
|
||||||
|
|
||||||
|
</buttonbar>
|
||||||
|
<spacer height="1f" width="20" />
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="1%" y="2%" width="98%" height="96%" layout="vertical-row">
|
<div x="1%" y="4%" width="98%" height="92%" layout="vertical-row">
|
||||||
|
|
||||||
<div width="100%" height="40%" layout="vertical-row">
|
<div width="100%" height="40%" layout="vertical-row">
|
||||||
<div width="100%" height="25%" layout="vertical-row" >
|
<div width="100%" height="25%" layout="vertical-row" >
|
||||||
@@ -21,17 +21,17 @@
|
|||||||
<div width="95%" align="center" layout="vertical-row" height="50%">
|
<div width="95%" align="center" layout="vertical-row" height="50%">
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
<checkbox width="fit" id="record-race" I18N="Ghost replay info action" text_align="left"/>
|
<checkbox width="fit" id="record-race" I18N="Ghost replay info action" text_align="left"/>
|
||||||
<spacer width="10"/>
|
<spacer width="1%"/>
|
||||||
<label proportion="1" id="record-race-text" height="100%" text_align="left" I18N="Ghost replay info action" text="Record the race for ghost replay"/>
|
<label proportion="1" id="record-race-text" height="100%" text_align="left" I18N="Ghost replay info action" text="Record the race for ghost replay"/>
|
||||||
</div>
|
</div>
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
<checkbox width="fit" id="watch-only" I18N="Ghost replay info action" text_align="left"/>
|
<checkbox width="fit" id="watch-only" I18N="Ghost replay info action" text_align="left"/>
|
||||||
<spacer width="10"/>
|
<spacer width="1%"/>
|
||||||
<label proportion="1" id="watch-only-text" height="100%" text_align="left" I18N="Ghost replay info action" text="Watch replay only"/>
|
<label proportion="1" id="watch-only-text" height="100%" text_align="left" I18N="Ghost replay info action" text="Watch replay only"/>
|
||||||
</div>
|
</div>
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
<checkbox width="fit" id="compare-ghost" I18N="Ghost replay info action" text_align="left"/>
|
<checkbox width="fit" id="compare-ghost" I18N="Ghost replay info action" text_align="left"/>
|
||||||
<spacer width="10"/>
|
<spacer width="1%"/>
|
||||||
<label proportion="1" id="compare-ghost-text" height="100%" text_align="left" I18N="Ghost replay info action" text="Compare to another ghost"/>
|
<label proportion="1" id="compare-ghost-text" height="100%" text_align="left" I18N="Ghost replay info action" text="Compare to another ghost"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -39,6 +39,6 @@
|
|||||||
icon="gui/icons/green_check.png" text="OK"
|
icon="gui/icons/green_check.png" text="OK"
|
||||||
label_location="bottom"/>
|
label_location="bottom"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
<spacer width="20" height="3%" />
|
<spacer height="1f" width="20"/>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
||||||
|
|
||||||
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
<header id="title" width="100%" height="fit" text_align="center" word_wrap="true"
|
||||||
I18N="In the change password dialog" text="Password Change"/>
|
I18N="In the change password dialog" text="Password Change"/>
|
||||||
|
|
||||||
<spacer height="40" width="50"/>
|
<spacer height="4%" width="50"/>
|
||||||
|
|
||||||
<div width="80%" align="center" layout="vertical-row" height="fit" >
|
<div width="80%" align="center" layout="vertical-row" height="fit" >
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
@@ -13,14 +13,14 @@
|
|||||||
<textbox proportion="2" height="fit" id="current_password" I18N="In the change password dialog"/>
|
<textbox proportion="2" height="fit" id="current_password" I18N="In the change password dialog"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<spacer height="20" width="20"/>
|
<spacer height="12%" width="20"/>
|
||||||
|
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
<label proportion="1" height="100%" text_align="left" I18N="In the change password dialog" text="New Password"/>
|
<label proportion="1" height="100%" text_align="left" I18N="In the change password dialog" text="New Password"/>
|
||||||
<textbox proportion="2" height="fit" id="new_password1" I18N="In the change password dialog"/>
|
<textbox proportion="2" height="fit" id="new_password1" I18N="In the change password dialog"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<spacer height="20" width="20"/>
|
<spacer height="12%" width="20"/>
|
||||||
|
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
<label proportion="1" height="100%" text_align="left" I18N="In the change password dialog" text="Confirm"/>
|
<label proportion="1" height="100%" text_align="left" I18N="In the change password dialog" text="Confirm"/>
|
||||||
@@ -28,11 +28,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="2%" width="50"/>
|
||||||
|
|
||||||
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true" text=""/>
|
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true" text=""/>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="2%" width="50"/>
|
||||||
|
|
||||||
<buttonbar id="options" width="90%" height="16%" align="center">
|
<buttonbar id="options" width="90%" height="16%" align="center">
|
||||||
<icon-button id="submit" width="64" height="64" icon="gui/icons/green_check.png"
|
<icon-button id="submit" width="64" height="64" icon="gui/icons/green_check.png"
|
||||||
@@ -40,5 +40,6 @@
|
|||||||
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
||||||
I18N="In the change password dialog" text="Close" label_location="bottom"/>
|
I18N="In the change password dialog" text="Close" label_location="bottom"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
<spacer height="1f" width="20"/>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -3,8 +3,10 @@
|
|||||||
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
||||||
<div x="1%" width="98%" height="fit" layout="horizontal-row">
|
<div x="1%" width="98%" height="fit" layout="horizontal-row">
|
||||||
<textbox id="chat" proportion="1"/>
|
<textbox id="chat" proportion="1"/>
|
||||||
<spacer width="3%" height="10"/>
|
<spacer width="2%" height="10"/>
|
||||||
<button id="send" width="20%" height="fit" align="center" I18N="In the network lobby" text="Send"/>
|
<button id="send" width="10%" height="fit" align="center" text=""/>
|
||||||
|
<spacer width="1%" height="10"/>
|
||||||
|
<button id="emoji" width="10%" height="fit" align="center" text=""/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<spacer width="20" height="2%" />
|
<spacer width="20" height="2%" />
|
||||||
@@ -12,6 +14,8 @@
|
|||||||
<buttonbar id="backbtnribbon" proportion="4" width="100%" align="center">
|
<buttonbar id="backbtnribbon" proportion="4" width="100%" align="center">
|
||||||
<icon-button id="backbtn" width="128" height="128" align="center" icon="gui/icons/back.png"
|
<icon-button id="backbtn" width="128" height="128" align="center" icon="gui/icons/back.png"
|
||||||
extend_label="200" I18N="Race paused button" text="Back to Race"/>
|
extend_label="200" I18N="Race paused button" text="Back to Race"/>
|
||||||
|
<icon-button id="touch_device" width="128" height="128" align="center" icon="gui/icons/android/gyroscope_icon.png"
|
||||||
|
extend_label="200" I18N="Race paused button" text="Gyroscope"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
|
||||||
<spacer width="20" height="8%" />
|
<spacer width="20" height="8%" />
|
||||||
@@ -39,6 +43,6 @@
|
|||||||
|
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
|
||||||
<spacer width="20" height="35" />
|
<spacer width="20" height="5%" />
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="2%" y="5%" width="96%" height="85%" layout="vertical-row" >
|
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
||||||
|
|
||||||
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true" text=""/>
|
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true" text=""/>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="2%" width="50"/>
|
||||||
|
|
||||||
<buttonbar id="options" width="90%" height="30%" align="center">
|
<buttonbar id="options" width="90%" height="30%" align="center">
|
||||||
<icon-button id="view" width="64" height="64" icon="gui/icons/difficulty_medium.png"
|
<icon-button id="view" width="64" height="64" icon="gui/icons/difficulty_medium.png"
|
||||||
@@ -12,5 +12,6 @@
|
|||||||
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
||||||
I18N="User info dialog" text="Close" label_location="bottom"/>
|
I18N="User info dialog" text="Close" label_location="bottom"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
<spacer height="1f" width="20"/>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="2%" y="2%" width="100%" height="96%" layout="vertical-row">
|
<div x="2%" y="2%" width="96%" height="96%" layout="vertical-row">
|
||||||
<header id="title" width="96%" height="fit" text_align="center"
|
<header id="title" width="100%" height="fit" text_align="center"
|
||||||
word_wrap="true" I18N="In player rankings dialog"
|
word_wrap="true" I18N="In player rankings dialog"
|
||||||
text="Top 10 players"/>
|
text="Top 10 players"/>
|
||||||
|
|
||||||
|
<spacer height="1%" width="20" />
|
||||||
|
|
||||||
<box x="2%" width="90%" height="60%" align="center" layout="vertical-row"
|
<box x="2%" width="90%" height="60%" align="center" layout="vertical-row"
|
||||||
padding="6">
|
padding="6">
|
||||||
<list id="top-ten" x="0" y="0" width="100%" height="100%"/>
|
<list id="top-ten" x="0" y="0" width="100%" height="100%"/>
|
||||||
@@ -13,14 +15,16 @@
|
|||||||
<label id="cur-rank" proportion="1" width="90%" align="center"
|
<label id="cur-rank" proportion="1" width="90%" align="center"
|
||||||
text_align="center" word_wrap="true" text=""/>
|
text_align="center" word_wrap="true" text=""/>
|
||||||
|
|
||||||
<buttonbar id="options" width="90%" height="10%" align="center">
|
<spacer height="1%" width="20" />
|
||||||
<icon-button id="ok" width="16" height="16"
|
|
||||||
|
<buttonbar id="options" width="90%" height="14%" align="center">
|
||||||
|
<icon-button id="ok" width="128" height="128"
|
||||||
icon="gui/icons/green_check.png" text="OK"
|
icon="gui/icons/green_check.png" text="OK"
|
||||||
label_location="bottom"/>
|
label_location="bottom"/>
|
||||||
<icon-button id="refresh" width="16" height="16"
|
<icon-button id="refresh" width="128" height="128"
|
||||||
icon="gui/icons/restart.png"
|
icon="gui/icons/restart.png"
|
||||||
text="Refresh" label_location="bottom"/>
|
text="Refresh" label_location="bottom"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
<spacer width="20" height="2%" />
|
<spacer height="1f" width="20"/>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -4,16 +4,17 @@
|
|||||||
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
||||||
I18N="In the recovery dialog" text="Account Recovery"/>
|
I18N="In the recovery dialog" text="Account Recovery"/>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="2%" width="50"/>
|
||||||
|
|
||||||
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true" I18N="In the recovery dialog"
|
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true" I18N="In the recovery dialog"
|
||||||
text="You will receive an email with further instructions on how to reset your password. Please be patient and be sure to check your spam folder." />
|
text="You will receive an email with further instructions on how to reset your password. Please be patient and be sure to check your spam folder." />
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="2%" width="50"/>
|
||||||
|
|
||||||
<buttonbar id="options" width="25%" height="15%" align="center">
|
<buttonbar id="options" width="25%" height="15%" align="center">
|
||||||
<icon-button id="cancel" width="64" height="64" icon="gui/icons/green_check.png"
|
<icon-button id="cancel" width="64" height="64" icon="gui/icons/green_check.png"
|
||||||
I18N="In the recovery dialog" text="Close" label_location="none"/>
|
I18N="In the recovery dialog" text="Close" label_location="none"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
<spacer width="20" height="1f" />
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -4,12 +4,12 @@
|
|||||||
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
||||||
I18N="In the recovery dialog" text="Account Recovery"/>
|
I18N="In the recovery dialog" text="Account Recovery"/>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="2%" width="50"/>
|
||||||
|
|
||||||
<label id="message" proportion="2" width="90%" align="center" text_align="left" word_wrap="true"
|
<label id="message" proportion="2" width="90%" align="center" text_align="left" word_wrap="true"
|
||||||
text="Fill in the username and email address you supplied at registration to be able to reset your password."/>
|
text="Fill in the username and email address you supplied at registration to be able to reset your password."/>
|
||||||
|
|
||||||
<spacer height="40" width="50"/>
|
<spacer height="4%" width="50"/>
|
||||||
|
|
||||||
<div width="80%" align="center" layout="vertical-row" height="fit">
|
<div width="80%" align="center" layout="vertical-row" height="fit">
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
<textbox proportion="2" id="username" I18N="In the recovery dialog"/>
|
<textbox proportion="2" id="username" I18N="In the recovery dialog"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<spacer height="20" width="20"/>
|
<spacer height="10%" width="20"/>
|
||||||
|
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
<label proportion="1" text_align="left" I18N="In the recovery dialog" text="Email"/>
|
<label proportion="1" text_align="left" I18N="In the recovery dialog" text="Email"/>
|
||||||
@@ -26,12 +26,12 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="2%" width="50"/>
|
||||||
|
|
||||||
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true"
|
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true"
|
||||||
I18N="In the recovery dialog" text=""/>
|
I18N="In the recovery dialog" text=""/>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="2%" width="50"/>
|
||||||
|
|
||||||
<buttonbar id="options" width="25%" proportion="1" align="center">
|
<buttonbar id="options" width="25%" proportion="1" align="center">
|
||||||
<icon-button id="submit" width="64" height="64" icon="gui/icons/green_check.png"
|
<icon-button id="submit" width="64" height="64" icon="gui/icons/green_check.png"
|
||||||
@@ -39,5 +39,6 @@
|
|||||||
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
||||||
I18N="In the recovery dialog" text="Cancel" label_location="none"/>
|
I18N="In the recovery dialog" text="Cancel" label_location="none"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
<spacer height="1f" width="20"/>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
||||||
I18N="In the registration dialog" text="Terms and Agreement"/>
|
I18N="In the registration dialog" text="Terms and Agreement"/>
|
||||||
|
|
||||||
<spacer height="25" width="50"/>
|
<spacer height="3%" width="50"/>
|
||||||
|
|
||||||
<box proportion="5" width="90%" align="center" layout="vertical-row" padding="8">
|
<box proportion="5" width="90%" align="center" layout="vertical-row" padding="8">
|
||||||
<label word_wrap="true" id="terms" x="0" y="0" width="100%" height="100%"/>
|
<label word_wrap="true" id="terms" x="0" y="0" width="100%" height="100%"/>
|
||||||
@@ -15,12 +15,12 @@
|
|||||||
text="I agree to the above terms and am 13 years or older. "/>
|
text="I agree to the above terms and am 13 years or older. "/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="2%" width="50"/>
|
||||||
|
|
||||||
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true"
|
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true"
|
||||||
I18N="In the registration dialog" text=""/>
|
I18N="In the registration dialog" text=""/>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="2%" width="50"/>
|
||||||
|
|
||||||
<buttonbar id="options" width="45%" height="14%" align="center">
|
<buttonbar id="options" width="45%" height="14%" align="center">
|
||||||
<icon-button id="accept" width="64" height="64" icon="gui/icons/green_check.png"
|
<icon-button id="accept" width="64" height="64" icon="gui/icons/green_check.png"
|
||||||
@@ -28,5 +28,6 @@
|
|||||||
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
||||||
I18N="In the registration dialog" text="Cancel" label_location="bottom"/>
|
I18N="In the registration dialog" text="Cancel" label_location="bottom"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
<spacer height="1f" width="5"/>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="0" y="0" width="100%" height="100%" layout="vertical-row" >
|
<div x="2%" y="2%" width="96%" height="96%" layout="vertical-row" >
|
||||||
<header id="title" text_align="center" width="80%" align="center" I18N="In the server configuration screen" text="Server Configuration"/>
|
<header id="title" text_align="center" width="80%" align="center" I18N="In the server configuration screen" text="Server Configuration"/>
|
||||||
|
<spacer height="1%" width="20"/>
|
||||||
<box proportion="1" width="90%" layout="vertical-row" align="center">
|
<box proportion="1" width="90%" layout="vertical-row" align="center">
|
||||||
|
|
||||||
<label width="100%" height="8%" text_align="left" I18N="In the server configuration screen" text="Difficulty"/>
|
<label width="100%" height="8%" text_align="left" I18N="In the server configuration screen" text="Difficulty"/>
|
||||||
@@ -24,7 +25,7 @@
|
|||||||
I18N="Multiplayer game mode" text="Normal Race"/>
|
I18N="Multiplayer game mode" text="Normal Race"/>
|
||||||
<icon-button id="timetrial" width="128" height="128" icon="gui/icons/mode_tt.png"
|
<icon-button id="timetrial" width="128" height="128" icon="gui/icons/mode_tt.png"
|
||||||
I18N="Multiplayer game mode" text="Time Trial"/>
|
I18N="Multiplayer game mode" text="Time Trial"/>
|
||||||
<icon-button id="3strikes" width="128" height="128" icon="gui/icons/weapons.png"
|
<icon-button id="3strikes" width="128" height="128" icon="gui/icons/mode_weapons.png"
|
||||||
I18N="Multiplayer game mode" text="Battle"/>
|
I18N="Multiplayer game mode" text="Battle"/>
|
||||||
<icon-button id="soccer" width="128" height="128" icon="gui/icons/mode_soccer.png"
|
<icon-button id="soccer" width="128" height="128" icon="gui/icons/mode_soccer.png"
|
||||||
I18N="Multiplayer game mode" text="Soccer"/>
|
I18N="Multiplayer game mode" text="Soccer"/>
|
||||||
@@ -46,7 +47,7 @@
|
|||||||
I18N="In the server configuration screen" text="Cancel" label_location="bottom"/>
|
I18N="In the server configuration screen" text="Cancel" label_location="bottom"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
|
||||||
<spacer height="3%" width="20"/>
|
<spacer height="1f" width="20"/>
|
||||||
</box>
|
</box>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,9 +1,20 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="2%" y="0%" width="96%" height="100%" layout="vertical-row" >
|
<div x="2%" y="2%" width="96%" height="96%" layout="vertical-row" >
|
||||||
<header id="title" width="96%" proportion="4" text_align="center" word_wrap="true"/>
|
<header id="title" width="100%" proportion="3" text_align="center" word_wrap="true"/>
|
||||||
<spacer height="1%" width="5"/>
|
<spacer height="1%" width="5"/>
|
||||||
<label id="server-info" width="90%" proportion="4" align="left" text_align="left" text=""/>
|
<div width="100%" proportion="3" layout="horizontal-row" >
|
||||||
|
<div width="48%" height="100%" layout="vertical-row" >
|
||||||
|
<label id="server-info-1" text_align="left" width="100%" text=""/>
|
||||||
|
<label id="server-info-2" text_align="left" width="100%" text=""/>
|
||||||
|
</div>
|
||||||
|
<spacer width="2%"/>
|
||||||
|
<div width="48%" height="100%" layout="vertical-row" >
|
||||||
|
<label id="server-info-3" text_align="left" width="100%" text=""/>
|
||||||
|
<label id="server-info-4" text_align="left" width="100%" text=""/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<spacer height="1%"/>
|
<spacer height="1%"/>
|
||||||
<box x="0%" width="90%" proportion="12" align="center" layout="vertical-row">
|
<box x="0%" width="90%" proportion="12" align="center" layout="vertical-row">
|
||||||
<list id="player-list" x="0" y="0" width="100%" height="100%"
|
<list id="player-list" x="0" y="0" width="100%" height="100%"
|
||||||
@@ -21,6 +32,6 @@
|
|||||||
<icon-button id="cancel" width="128" height="128" icon="gui/icons/main_quit.png"
|
<icon-button id="cancel" width="128" height="128" icon="gui/icons/main_quit.png"
|
||||||
I18N="In the server info dialog" text="Cancel" label_location="bottom"/>
|
I18N="In the server info dialog" text="Cancel" label_location="bottom"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
<spacer height="3%" width="5"/>
|
<spacer height="1f" width="5"/>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="2%" y="5%" width="96%" height="85%" layout="vertical-row" >
|
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
||||||
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
||||||
I18N="Splitscreen player in network" text="Add player"/>
|
I18N="Splitscreen player in network" text="Add player"/>
|
||||||
|
|
||||||
@@ -54,6 +54,6 @@
|
|||||||
I18N="Splitscreen player in network" text="Clear players" label_location="bottom"/>
|
I18N="Splitscreen player in network" text="Clear players" label_location="bottom"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
|
||||||
<spacer height="2%" width="10"/>
|
<spacer height="1f" width="10"/>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,23 +1,22 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="2%" y="5%" width="96%" height="85%" layout="vertical-row" >
|
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
||||||
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
||||||
I18N="User info dialog' dialog" text="User Info"/>
|
I18N="User info dialog" text="User Info"/>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="1f" width="50"/>
|
||||||
|
|
||||||
<div width="80%" align="center" layout="vertical-row" height="fit" >
|
<div width="80%" align="center" layout="vertical-row" height="20%" >
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="100%" layout="horizontal-row">
|
||||||
<label proportion="1" text_align="left" I18N="User info dialog" text="Name"/>
|
<label id="desc" width="100%" height="100%" text_align="left" word_wrap="true" text=""/>
|
||||||
<label id="name" proportion="2" text_align="left" text=""/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="3%" width="50"/>
|
||||||
|
|
||||||
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true" text=""/>
|
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true" text=""/>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="3%" width="50"/>
|
||||||
|
|
||||||
<buttonbar id="options" width="90%" height="20%" align="center">
|
<buttonbar id="options" width="90%" height="20%" align="center">
|
||||||
<icon-button id="remove" width="64" height="64" icon="gui/icons/package-uninstall.png"
|
<icon-button id="remove" width="64" height="64" icon="gui/icons/package-uninstall.png"
|
||||||
@@ -33,5 +32,7 @@
|
|||||||
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
||||||
I18N="User info dialog" text="Close" label_location="bottom"/>
|
I18N="User info dialog" text="Close" label_location="bottom"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
<spacer height="1f" width="20"/>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +1,23 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
||||||
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
<header id="title" width="100%" height="fit" text_align="center" word_wrap="true"
|
||||||
I18N="In the vote dialog" text="Vote"/>
|
I18N="In the vote dialog" text="Vote"/>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="2%" width="50"/>
|
||||||
|
|
||||||
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true" text=""/>
|
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true" text=""/>
|
||||||
|
|
||||||
<spacer height="20" width="50"/>
|
<spacer height="2%" width="50"/>
|
||||||
|
|
||||||
<div width="90%" height="64" align="center" layout="vertical-row" >
|
<ratingbar id="rating" align="center" height="1f" width="3f"/>
|
||||||
<ratingbar id="rating" align="center" height="64" width="192"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<spacer height="40" width="50"/>
|
<spacer height="4%" width="50"/>
|
||||||
|
|
||||||
<buttonbar id="options" width="25%" height="20%" align="center">
|
<buttonbar id="options" width="25%" height="20%" align="center">
|
||||||
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
||||||
I18N="Vote dialog" text="Close" label_location="none"/>
|
I18N="Vote dialog" text="Close" label_location="none"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
<spacer height="1f" width="10"/>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -8,6 +8,8 @@
|
|||||||
<buttonbar id="backbtnribbon" proportion="4" width="100%" align="center">
|
<buttonbar id="backbtnribbon" proportion="4" width="100%" align="center">
|
||||||
<icon-button id="backbtn" width="128" height="128" align="center" icon="gui/icons/back.png"
|
<icon-button id="backbtn" width="128" height="128" align="center" icon="gui/icons/back.png"
|
||||||
extend_label="200" I18N="In the in-game dialog" text="Back to Game"/>
|
extend_label="200" I18N="In the in-game dialog" text="Back to Game"/>
|
||||||
|
<icon-button id="touch_device" width="128" height="128" align="center" icon="gui/icons/android/gyroscope_icon.png"
|
||||||
|
extend_label="200" I18N="Race paused button" text="Gyroscope"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
|
||||||
<spacer width="20" height="8%" />
|
<spacer width="20" height="8%" />
|
||||||
|
|||||||
@@ -4,12 +4,12 @@
|
|||||||
|
|
||||||
<label id="title" width="100%" text_align="center" text="Press fully and release..." proportion="1" I18N="When changing input configurations" word_wrap="true"/>
|
<label id="title" width="100%" text_align="center" text="Press fully and release..." proportion="1" I18N="When changing input configurations" word_wrap="true"/>
|
||||||
|
|
||||||
<spacer height="25" width="10" />
|
<spacer height="4%" width="10" />
|
||||||
|
|
||||||
<button id="assignEsc" I18N="When configuring input" text="Assign to ESC key" align="center"/>
|
<button id="assignEsc" I18N="When configuring input" text="Assign to ESC key" align="center"/>
|
||||||
<spacer height="10" width="10" />
|
<spacer height="2%" width="10" />
|
||||||
<button id="assignNone" I18N="When configuring input" text="Assign nothing" align="center"/>
|
<button id="assignNone" I18N="When configuring input" text="Assign nothing" align="center"/>
|
||||||
<spacer height="10" width="10" />
|
<spacer height="2%" width="10" />
|
||||||
<button id="cancel" I18N="When configuring input" text="Press ESC to cancel" align="center"/>
|
<button id="cancel" I18N="When configuring input" text="Press ESC to cancel" align="center"/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -8,6 +8,8 @@
|
|||||||
<buttonbar id="backbtnribbon" proportion="4" width="100%" align="center">
|
<buttonbar id="backbtnribbon" proportion="4" width="100%" align="center">
|
||||||
<icon-button id="backbtn" width="128" height="128" align="center" icon="gui/icons/back.png"
|
<icon-button id="backbtn" width="128" height="128" align="center" icon="gui/icons/back.png"
|
||||||
extend_label="200" I18N="Race paused button" text="Back to Race"/>
|
extend_label="200" I18N="Race paused button" text="Back to Race"/>
|
||||||
|
<icon-button id="touch_device" width="128" height="128" align="center" icon="gui/icons/android/gyroscope_icon.png"
|
||||||
|
extend_label="200" I18N="Race paused button" text="Gyroscope"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
|
||||||
<spacer width="20" height="8%" />
|
<spacer width="20" height="8%" />
|
||||||
@@ -34,6 +36,6 @@
|
|||||||
|
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
|
||||||
<spacer width="20" height="35" />
|
<spacer width="20" height="5%" />
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -2,59 +2,33 @@
|
|||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="5%" y="5%" width="90%" height="90%" layout="vertical-row" >
|
<div x="5%" y="5%" width="90%" height="90%" layout="vertical-row" >
|
||||||
|
|
||||||
<div width="100%" layout="horizontal-row" height="12%">
|
<header id="title" height="10%" width="100%" text="Race Setup" align="center" text_align="center" />
|
||||||
<icon-button id="back" width="12%" align="left" icon="gui/icons/back.png"/>
|
|
||||||
|
|
||||||
<header id="title" width="80%" text="Race Setup" align="center" text_align="center" />
|
<spacer height="3%" width="1"/>
|
||||||
|
|
||||||
<spacer height="1" width="12%"/>
|
<ribbon id="difficulty" height="25%" width="80%" align="center">
|
||||||
</div>
|
|
||||||
|
|
||||||
<spacer height="2%" width="1"/>
|
|
||||||
|
|
||||||
<div width="100%" layout="horizontal-row" height="fit">
|
|
||||||
<label id="race_type" text="Type:" I18N="Type of race, in a challenge"/>
|
|
||||||
<spacer width="5" height="1"/>
|
|
||||||
<label id="race_type_val" proportion="1"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<spacer height="2%" width="1"/>
|
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
|
||||||
<icon-button id="novice" icon="gui/icons/difficulty_easy.png"
|
<icon-button id="novice" icon="gui/icons/difficulty_easy.png"
|
||||||
I18N="Difficulty" text="Novice" height="100%"/>
|
width="128" height="128" I18N="Difficulty" text="Novice"/>
|
||||||
<spacer width="5%" height="1"/>
|
|
||||||
<label id="novice_label" proportion="1" height="100%"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<spacer height="6%" width="1"/>
|
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
|
||||||
<icon-button id="intermediate" icon="gui/icons/difficulty_medium.png"
|
<icon-button id="intermediate" icon="gui/icons/difficulty_medium.png"
|
||||||
I18N="Difficulty" text="Intermediate" height="100%"/>
|
width="128" height="128" I18N="Difficulty" text="Intermediate"/>
|
||||||
<spacer width="5%" height="1"/>
|
|
||||||
<label id="intermediate_label" proportion="1" height="100%"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<spacer height="6%" width="1"/>
|
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
|
||||||
<icon-button id="expert" icon="gui/icons/difficulty_hard.png"
|
<icon-button id="expert" icon="gui/icons/difficulty_hard.png"
|
||||||
I18N="Difficulty" text="Expert" height="100%"/>
|
width="128" height="128" I18N="Difficulty" text="Expert"/>
|
||||||
<spacer width="5%" height="1"/>
|
|
||||||
<label id="difficult_label" proportion="1" height="100%"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<spacer height="6%" width="1"/>
|
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
|
||||||
<icon-button id="supertux" icon="gui/icons/difficulty_best.png"
|
<icon-button id="supertux" icon="gui/icons/difficulty_best.png"
|
||||||
I18N="Difficulty" text="SuperTux" height="100%"/>
|
width="128" height="128" I18N="Difficulty" text="SuperTux"/>
|
||||||
<spacer width="5%" height="1"/>
|
</ribbon>
|
||||||
<label id="supertux_label" proportion="1" height="100%"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<spacer height="2%" width="1"/>
|
<spacer height="3%" width="1"/>
|
||||||
|
|
||||||
|
<label id="challenge_info" height="35%" width="100%" text_align="center"/>
|
||||||
|
|
||||||
|
<spacer height="3%" width="1"/>
|
||||||
|
|
||||||
|
<buttonbar id="actions" height="20%" width="30%" align="center">
|
||||||
|
<icon-button id="start" icon="gui/icons/green_check.png"
|
||||||
|
width="128" height="128" text="Start Race"/>
|
||||||
|
<icon-button id="back" icon="gui/icons/back.png"
|
||||||
|
width="128" height="128" text="Back"/>
|
||||||
|
</buttonbar>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,52 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<stkgui>
|
|
||||||
<div x="5%" y="5%" width="90%" height="90%" layout="vertical-row" >
|
|
||||||
|
|
||||||
<div width="100%" layout="horizontal-row" height="12%">
|
|
||||||
<icon-button id="back" width="12%" align="left" icon="gui/icons/back.png"/>
|
|
||||||
|
|
||||||
<header id="title" width="80%" text="Race Setup" align="center" text_align="center" />
|
|
||||||
|
|
||||||
<spacer height="1" width="12%"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<spacer height="2%" width="1"/>
|
|
||||||
|
|
||||||
<div width="100%" layout="horizontal-row" height="fit">
|
|
||||||
<label id="race_type" text="Type:" I18N="Type of race, in a challenge"/>
|
|
||||||
<spacer width="5" height="1"/>
|
|
||||||
<label id="race_type_val" proportion="1"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<spacer height="2%" width="1"/>
|
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
|
||||||
<icon-button id="novice" icon="gui/icons/difficulty_easy.png"
|
|
||||||
I18N="Difficulty" text="Novice" height="100%"/>
|
|
||||||
<spacer width="5%" height="1"/>
|
|
||||||
<label id="novice_label" proportion="1" height="100%"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<spacer height="8%" width="1"/>
|
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
|
||||||
<icon-button id="intermediate" icon="gui/icons/difficulty_medium.png"
|
|
||||||
I18N="Difficulty" text="Intermediate" height="100%"/>
|
|
||||||
<spacer width="5%" height="1"/>
|
|
||||||
<label id="intermediate_label" proportion="1" height="100%"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<spacer height="8%" width="1"/>
|
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
|
||||||
<icon-button id="expert" icon="gui/icons/difficulty_hard.png"
|
|
||||||
I18N="Difficulty" text="Expert" height="100%"/>
|
|
||||||
<spacer width="5%" height="1"/>
|
|
||||||
<label id="difficult_label" proportion="1" height="100%"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<spacer height="8%" width="1"/>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</stkgui>
|
|
||||||
|
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<div x="2%" y="10%" width="96%" height="80%" layout="vertical-row" >
|
<div x="2%" y="10%" width="96%" height="80%" layout="vertical-row" >
|
||||||
<label id="title" width="100%" text_align="left" word_wrap="true" proportion="1" />
|
<label id="title" width="100%" text_align="left" word_wrap="true" proportion="1" />
|
||||||
|
|
||||||
<spacer height="10" width="10" />
|
<spacer height="2%" width="10" />
|
||||||
|
|
||||||
<button id="continue" I18N="Button in tutorial" text="Continue" align="right"/>
|
<button id="continue" I18N="Button in tutorial" text="Continue" align="right"/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -47,6 +47,8 @@ blue_flag.png, heart.png and red_flag.png by Benau, released under CC-BY-SA 4
|
|||||||
|
|
||||||
lap_flag.png, modified by Alayan, original by Alina Oleynik from The Noun Project, under CC-BY 3.0
|
lap_flag.png, modified by Alayan, original by Alina Oleynik from The Noun Project, under CC-BY 3.0
|
||||||
|
|
||||||
|
Android robot.png is licensed under the terms of the Creative Commons Attribution license
|
||||||
|
|
||||||
====
|
====
|
||||||
|
|
||||||
Glass Skin by Auria, under CC-BY-SA 3+
|
Glass Skin by Auria, under CC-BY-SA 3+
|
||||||
|
|||||||
BIN
data/gui/icons/android/accelerator.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
data/gui/icons/android/accelerator_handle.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
data/gui/icons/android/gyroscope_icon.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
data/gui/icons/android/robot.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
data/gui/icons/android/steering_wheel_mask_down.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
data/gui/icons/android/steering_wheel_mask_up.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
@@ -1,22 +1,25 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="0%" y="0%" width="100%" height="98%" layout="vertical-row" >
|
<div x="1%" y="0" width="98%" layout="horizontal-row" height="9%">
|
||||||
<div x="0" y="0" width="100%" layout="horizontal-row" height="8%">
|
<icon-button id="back" height="100%" icon_align="left" icon="gui/icons/back.png"/>
|
||||||
<icon-button id="back" height="100%" icon="gui/icons/back.png"/>
|
<spacer proportion="1" height="1"/>
|
||||||
<header text_align="center" proportion="1" text="SuperTuxKart Addons" align="center"/>
|
<icon-button id="reload" y="5%" height="90%" icon_align="right" icon="gui/icons/restart.png"/>
|
||||||
<icon-button id="reload" height="90%" icon="gui/icons/restart.png"/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<box id="filter_box" width="97%" height="75" layout="vertical-row" align="center">
|
<div x="0%" y="1%" width="100%" height="98%" layout="vertical-row" >
|
||||||
|
<header width="80%" height="8%" align="center" text_align="center" text="SuperTuxKart Addons"/>
|
||||||
|
<spacer width="100%" height="1%"/>
|
||||||
|
|
||||||
|
<box id="filter_box" width="97%" height="2f" layout="vertical-row" align="center">
|
||||||
<div x="0" y="0" width="98%" height="100%" layout="horizontal-row" align="center">
|
<div x="0" y="0" width="98%" height="100%" layout="horizontal-row" align="center">
|
||||||
<textbox id="filter_name" proportion="7" align="center" />
|
<textbox id="filter_name" proportion="7" align="center" />
|
||||||
<spacer width="20" />
|
<spacer width="2%" />
|
||||||
<label text="Updated" align="center" I18N="In addons screen, in the filtering bar, to enable a filter that will show only recently updated items"/>
|
<label text="Updated" align="center" I18N="In addons screen, in the filtering bar, to enable a filter that will show only recently updated items"/>
|
||||||
<spacer width="10" />
|
<spacer width="1%" />
|
||||||
<spinner id="filter_date" proportion="8" align="center" min_value="0" wrap_around="true"/>
|
<spinner id="filter_date" proportion="8" align="center" min_value="0" wrap_around="true"/>
|
||||||
<spacer width="10" />
|
<spacer width="1%" />
|
||||||
<label text="Rating >=" align="center" I18N="In addons screen, in the filtering bar, to enable a filter that will show only items with good rating"/>
|
<label text="Rating >=" align="center" I18N="In addons screen, in the filtering bar, to enable a filter that will show only items with good rating"/>
|
||||||
<spacer width="10" />
|
<spacer width="1%" />
|
||||||
<spinner id="filter_rating" proportion="5" align="center" min_value="0" wrap_around="true"/>
|
<spinner id="filter_rating" proportion="5" align="center" min_value="0" wrap_around="true"/>
|
||||||
<icon-button id="filter_search" height="100%" icon="gui/icons/search.png"/>
|
<icon-button id="filter_search" height="100%" icon="gui/icons/search.png"/>
|
||||||
</div>
|
</div>
|
||||||
@@ -24,17 +27,24 @@
|
|||||||
|
|
||||||
<spacer height="15" width="10"/>
|
<spacer height="15" width="10"/>
|
||||||
|
|
||||||
<tabs id="category" height="10%" max_height="110" width="90%" align="center">
|
<tabs id="category" height="2f" width="90%" align="center">
|
||||||
<icon-button id="tab_kart" width="128" height="128" icon="gui/icons/karts.png"
|
<icon-button id="tab_kart" width="128" height="128" icon="gui/icons/karts.png"
|
||||||
I18N="In the addons screen" text="Karts"/>
|
I18N="In the addons screen" text="Karts"/>
|
||||||
<icon-button id="tab_track" width="128" height="128" icon="gui/icons/mode_normal.png"
|
<icon-button id="tab_track" width="128" height="128" icon="gui/icons/mode_normal.png"
|
||||||
I18N="In the addons screen" text="Tracks"/>
|
I18N="In the addons screen" text="Tracks"/>
|
||||||
<icon-button id="tab_arena" width="128" height="128" icon="gui/icons/mode_normal.png"
|
<icon-button id="tab_arena" width="128" height="128" icon="gui/icons/mode_weapons.png"
|
||||||
I18N="In the addons screen" text="Arenas"/>
|
I18N="In the addons screen" text="Arenas"/>
|
||||||
</tabs>
|
</tabs>
|
||||||
|
|
||||||
<box proportion="1" width="98%" align="center" layout="vertical-row" padding="6">
|
<box proportion="1" width="98%" align="center" layout="vertical-row" padding="6">
|
||||||
<list id="list_addons" x="0" y="0" width="100%" height="100%" word_wrap="true" alternate_bg="true"/>
|
<div layout="horizontal-row" width="100%" height="12%">
|
||||||
|
<spacer width="1%" />
|
||||||
|
<label text="Installed" align="center" I18N="In addons screen, above the list of addons to be installed"/>
|
||||||
|
<spacer width="1%" />
|
||||||
|
<spinner id="filter_installation" proportion="5" align="center" min_value="0" wrap_around="true"/>
|
||||||
|
<spacer width="50%" />
|
||||||
|
</div>
|
||||||
|
<list id="list_addons" x="0" y="0" width="100%" height="88%" word_wrap="true" alternate_bg="true"/>
|
||||||
</box>
|
</box>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
|
|
||||||
<div x="2%" y="1%" width="96%" height="99%" layout="vertical-row" >
|
<div x="2%" y="1%" width="96%" height="99%" layout="vertical-row" >
|
||||||
|
<header height="8%" width="80%" I18N="Section in arena tracks selection screen" text="Arenas"
|
||||||
<header width="80%" I18N="Section in arena tracks selection screen" text="Arenas"
|
|
||||||
align="center" text_align="center" />
|
align="center" text_align="center" />
|
||||||
|
<spacer width="20" height="1%" />
|
||||||
<spacer width="20" height="5" />
|
|
||||||
|
|
||||||
<box proportion="1" width="100%" layout="vertical-row" padding="2">
|
<box proportion="1" width="100%" layout="vertical-row" padding="2">
|
||||||
<ribbon_grid id="tracks" proportion="1" width="100%" square_items="true"
|
<ribbon_grid id="tracks" proportion="1" width="100%" square_items="true"
|
||||||
@@ -15,7 +13,7 @@
|
|||||||
<spacer width="20" height="13" />
|
<spacer width="20" height="13" />
|
||||||
</box>
|
</box>
|
||||||
|
|
||||||
<tabs width="100%" height="5%" id="trackgroups">
|
<tabs width="100%" height="1f" id="trackgroups">
|
||||||
<button id="standard" I18N="track group" text="Standard"/>
|
<button id="standard" I18N="track group" text="Standard"/>
|
||||||
<button id="addons" I18N="track group" text="Add-Ons"/>
|
<button id="addons" I18N="track group" text="Add-Ons"/>
|
||||||
<button id="all" I18N="track group" text="All"/>
|
<button id="all" I18N="track group" text="All"/>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
|
|
||||||
<div x="2%" y="2%" width="96%" height="96%" layout="vertical-row" >
|
<div x="2%" y="2%" width="96%" height="96%" layout="vertical-row" >
|
||||||
|
|
||||||
@@ -12,7 +12,9 @@
|
|||||||
|
|
||||||
<spacer proportion="1" />
|
<spacer proportion="1" />
|
||||||
|
|
||||||
|
<!--
|
||||||
<button id="donate" width="fit" align="center" text="Donate to help keep SuperTuxKart going!"/>
|
<button id="donate" width="fit" align="center" text="Donate to help keep SuperTuxKart going!"/>
|
||||||
|
-->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,6 @@
|
|||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="2%" y="2%" width="96%" height="96%" layout="vertical-row">
|
<div x="2%" y="2%" width="96%" height="96%" layout="vertical-row">
|
||||||
<spacer width="10" proportion="1"/>
|
<spacer width="10" proportion="1"/>
|
||||||
<button id="continue" x="20" width="250" align="left" text="Continue"/>
|
<button id="continue" x="20" align="left" text="Continue"/>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
@@ -1,13 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
|
|
||||||
<div x="2%" y="1%" width="96%" height="99%" layout="vertical-row" >
|
<div x="2%" y="1%" width="96%" height="99%" layout="vertical-row" >
|
||||||
|
|
||||||
<header width="80%" I18N="Section in easter egg tracks selection screen" text="All Tracks"
|
<header height="8%" width="80%" I18N="Section in easter egg tracks selection screen" text="All Tracks"
|
||||||
align="center" text_align="center" />
|
align="center" text_align="center" />
|
||||||
|
<spacer width="20" height="1%" />
|
||||||
<spacer width="20" height="5" />
|
|
||||||
|
|
||||||
<box proportion="1" width="100%" layout="vertical-row" padding="2">
|
<box proportion="1" width="100%" layout="vertical-row" padding="2">
|
||||||
<ribbon_grid id="tracks" proportion="1" width="100%" square_items="true"
|
<ribbon_grid id="tracks" proportion="1" width="100%" square_items="true"
|
||||||
@@ -15,7 +14,7 @@
|
|||||||
<spacer width="20" height="13" />
|
<spacer width="20" height="13" />
|
||||||
</box>
|
</box>
|
||||||
|
|
||||||
<tabs width="100%" height="5%" id="trackgroups">
|
<tabs width="100%" height="1f" id="trackgroups">
|
||||||
<button id="standard" I18N="track group" text="Standard"/>
|
<button id="standard" I18N="track group" text="Standard"/>
|
||||||
<button id="addons" I18N="track group" text="Add-Ons"/>
|
<button id="addons" I18N="track group" text="Add-Ons"/>
|
||||||
<button id="all" I18N="track group" text="All"/>
|
<button id="all" I18N="track group" text="All"/>
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png" />
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png" />
|
||||||
|
|
||||||
<div x="2%" y="1%" width="96%" height="98%" layout="vertical-row">
|
<div x="2%" y="1%" width="96%" height="98%" layout="vertical-row">
|
||||||
|
<header id="title" height="8%" width="80%" I18N="Title in edit grand prix screen"
|
||||||
<header id="title" width="80%" I18N="Title in edit grand prix screen"
|
|
||||||
text="Edit Grand Prix" align="center" text_align="center" />
|
text="Edit Grand Prix" align="center" text_align="center" />
|
||||||
|
<spacer width="100%" height="1%" />
|
||||||
<spacer width="100%" height="2%" />
|
|
||||||
|
|
||||||
<box proportion="5" width="98%" align="center" layout="vertical-row" padding="6">
|
<box proportion="5" width="98%" align="center" layout="vertical-row" padding="6">
|
||||||
<list id="tracks" x="0" y="0" width="100%" height="100%" keep_selection="true" />
|
<list id="tracks" x="0" y="0" width="100%" height="100%" keep_selection="true" />
|
||||||
|
|||||||
@@ -2,11 +2,12 @@
|
|||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="2%" y="1%" width="96%" height="98%" layout="vertical-row" padding="10">
|
<div x="2%" y="1%" width="96%" height="98%" layout="vertical-row" padding="10">
|
||||||
|
|
||||||
<header id="selected_track" width="80%"
|
<header id="selected_track" height="8%" width="80%"
|
||||||
I18N="No neeed to translate this, it will be overwritten by the track name"
|
I18N="No neeed to translate this, it will be overwritten by the track name"
|
||||||
text="" align="center" text_align="center" />
|
text="" align="center" text_align="center" />
|
||||||
|
<spacer height="1%" />
|
||||||
|
|
||||||
<spacer height="20" />
|
<spacer height="2%" />
|
||||||
|
|
||||||
<!-- Track selection -->
|
<!-- Track selection -->
|
||||||
<box proportion="3" width="100%" layout="vertical-row">
|
<box proportion="3" width="100%" layout="vertical-row">
|
||||||
@@ -16,7 +17,7 @@
|
|||||||
</box>
|
</box>
|
||||||
|
|
||||||
<!-- Populated dynamically at runtime -->
|
<!-- Populated dynamically at runtime -->
|
||||||
<tabs width="100%" height="5%" id="trackgroups"> </tabs>
|
<tabs width="100%" height="1f" id="trackgroups"> </tabs>
|
||||||
|
|
||||||
<spacer height="10%" />
|
<spacer height="10%" />
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +1,21 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="0%" y="1%" width="100%" height="98%" layout="vertical-row" >
|
<div x="1%" y="0" width="98%" layout="horizontal-row" height="9%">
|
||||||
|
<icon-button id="back" height="100%" icon_align="left" icon="gui/icons/back.png"/>
|
||||||
<div x="0" y="0" width="100%" layout="horizontal-row" height="8%">
|
<spacer proportion="1" height="1"/>
|
||||||
<icon-button id="back" height="100%" icon="gui/icons/back.png"/>
|
<icon-button id="reload" y="5%" height="90%" icon_align="right" icon="gui/icons/restart.png"/>
|
||||||
<header text_align="center" proportion="1" I18N="In the ghost replay selection screen" text="Ghost Replay Selection" align="center"/>
|
|
||||||
<icon-button id="reload" height="90%" icon="gui/icons/restart.png"/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div x="0%" y="1%" width="100%" height="98%" layout="vertical-row" >
|
||||||
|
<header width="80%" height="8%" align="center" text_align="center" I18N="In the ghost replay selection screen" text="Ghost Replay Selection"/>
|
||||||
|
<spacer width="100%" height="1%"/>
|
||||||
|
|
||||||
<!-- This is filled in programmatically -->
|
<!-- This is filled in programmatically -->
|
||||||
<box proportion="1" width="98%" align="center" layout="vertical-row" padding="6">
|
<box proportion="1" width="98%" align="center" layout="vertical-row" padding="6">
|
||||||
<list id="replay_list" x="0" y="0" width="100%" height="100%" alternate_bg="true"/>
|
<list id="replay_list" x="0" y="0" width="100%" height="100%" alternate_bg="true"/>
|
||||||
</box>
|
</box>
|
||||||
|
|
||||||
<tabs id="race_mode" height="6%" max_height="110" x="1%" width="98%" align="center">
|
<tabs id="race_mode" height="6%" width="98%" align="center">
|
||||||
<icon-button id="tab_time_trial" width="128" height="128" icon="gui/icons/mode_tt.png"
|
<icon-button id="tab_time_trial" width="128" height="128" icon="gui/icons/mode_tt.png"
|
||||||
I18N="In the ghost replay selection screen" text="Time trial"/>
|
I18N="In the ghost replay selection screen" text="Time trial"/>
|
||||||
<icon-button id="tab_egg_hunt" width="128" height="128" icon="gui/icons/mode_easter.png"
|
<icon-button id="tab_egg_hunt" width="128" height="128" icon="gui/icons/mode_easter.png"
|
||||||
|
|||||||
@@ -1,56 +1,60 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
|
|
||||||
<div x="2%" y="2%" width="96%" height="96%" layout="vertical-row">
|
<div x="2%" y="1%" width="96%" height="98%" layout="vertical-row">
|
||||||
<header id="name" height="7%" width="80%" align="center" text_align="center"/>
|
<header id="name" height="8%" width="80%" align="center" text_align="center"/>
|
||||||
|
<spacer width="1" height="1%"/>
|
||||||
|
|
||||||
<spacer width="1" height="2%"/>
|
<div width="100%" height="72%" padding="10" layout="horizontal-row">
|
||||||
|
<box width="55%" height="100%" layout="vertical-row">
|
||||||
<box width="100%" height="40%" padding="10" layout="horizontal-row">
|
<!-- Track screenshot -->
|
||||||
<!-- Left pane -->
|
<div width="100%" height="54%" layout="vertical-row">
|
||||||
<div proportion="1" height="100%" layout="vertical-row">
|
|
||||||
<icon-button proportion="1" width="100%" height="100%" id="screenshot" custom_ratio="1.33333"/>
|
<icon-button proportion="1" width="100%" height="100%" id="screenshot" custom_ratio="1.33333"/>
|
||||||
</div>
|
</div>
|
||||||
<!-- Right pane -->
|
|
||||||
<div proportion="1" height="100%" layout="vertical-row">
|
|
||||||
<list id="tracks" width="100%" height="100%"/>
|
|
||||||
</div>
|
|
||||||
</box>
|
|
||||||
<spacer width="1" height="1%"/>
|
<spacer width="1" height="1%"/>
|
||||||
<box width="100%" height="33%" layout="vertical-row">
|
<!-- Options list -->
|
||||||
|
<div width="100%" height="45%" layout="vertical-row">
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
<label id="ai-text" proportion="1" I18N="In the grand prix info screen" text="AI karts" text_align="right"/>
|
<div width="45%" height="fit" layout="horizontal-row">
|
||||||
<spacer width="40"/>
|
<spinner id="ai-spinner" width="100%" min_value="1" max_value="20" align="center" wrap_around="true" />
|
||||||
<div proportion="1" height="fit" layout="horizontal-row">
|
|
||||||
<spinner id="ai-spinner" width="50%" min_value="1" max_value="20" align="center" wrap_around="true" />
|
|
||||||
</div>
|
</div>
|
||||||
|
<spacer width="3%"/>
|
||||||
|
<label id="ai-text" width="52%" height="fit" I18N="In the grand prix info screen" text="AI karts" text_align="left"/>
|
||||||
</div>
|
</div>
|
||||||
<spacer width="1" height="1%"/>
|
<spacer width="1" height="1%"/>
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
<label id="reverse-text" proportion="1" I18N="In the grand prix info screen" text="Reverse" text_align="right"/>
|
<div width="45%" height="fit" layout="horizontal-row">
|
||||||
<spacer width="40"/>
|
<spinner id="reverse-spinner" width="100%" align="center" wrap_around="true" />
|
||||||
<div proportion="1" height="fit" layout="horizontal-row">
|
|
||||||
<spinner id="reverse-spinner" width="50%" align="center" wrap_around="true" />
|
|
||||||
</div>
|
</div>
|
||||||
|
<spacer width="3%"/>
|
||||||
|
<label id="reverse-text" width="52%" height="fit" I18N="In the grand prix info screen" text="Reverse" text_align="left"/>
|
||||||
</div>
|
</div>
|
||||||
<spacer width="1" height="1%"/>
|
<spacer width="1" height="1%"/>
|
||||||
<div width="100%" height="fit" layout="horizontal-row">
|
<div width="100%" height="fit" layout="horizontal-row">
|
||||||
<label id="track-text" proportion="1" I18N="In the grand prix info screen" text="Tracks" text_align="right"/>
|
<div width="45%" height="fit" layout="horizontal-row">
|
||||||
<spacer width="40"/>
|
<spinner id="track-spinner" width="100%" min_value="1" max_value="20" align="center" wrap_around="true" />
|
||||||
<div proportion="1" height="fit" layout="horizontal-row">
|
|
||||||
<spinner id="track-spinner" width="50%" min_value="1" max_value="20" align="center" wrap_around="true" />
|
|
||||||
</div>
|
</div>
|
||||||
|
<spacer width="3%"/>
|
||||||
|
<label id="track-text" width="52%" height="fit" I18N="In the grand prix info screen" text="Tracks" text_align="left"/>
|
||||||
</div>
|
</div>
|
||||||
<spacer width="1" height="1%"/>
|
<spacer width="1" height="1%"/>
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
<label id="group-text" proportion="1" I18N="In the grand prix info screen" text="Track group" text_align="right"/>
|
<div width="45%" height="fit" layout="horizontal-row">
|
||||||
<spacer width="40"/>
|
<spinner id="group-spinner" width="100%" align="center" wrap_around="true" />
|
||||||
<div proportion="1" height="fit" layout="horizontal-row">
|
</div>
|
||||||
<spinner id="group-spinner" width="50%" align="center" wrap_around="true" />
|
<spacer width="3%"/>
|
||||||
|
<label id="group-text" width="52%" height="fit" I18N="In the grand prix info screen" text="Track group" text_align="left"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</box>
|
</box>
|
||||||
|
<spacer width="2%" height="1"/>
|
||||||
|
<!-- Track list -->
|
||||||
|
<box width="43%" height="100%" layout="vertical-row">
|
||||||
|
<list id="tracks" width="100%" height="100%"/>
|
||||||
|
</box>
|
||||||
|
</div>
|
||||||
|
|
||||||
<spacer width="1" height="1%"/>
|
<spacer width="1" height="1%"/>
|
||||||
<buttonbar id="buttons" height="17%" width="100%" align="center">
|
<buttonbar id="buttons" height="17%" width="100%" align="center">
|
||||||
<icon-button id="start" width="64" height="64" icon="gui/icons/green_check.png"
|
<icon-button id="start" width="64" height="64" icon="gui/icons/green_check.png"
|
||||||
|
|||||||
@@ -1,26 +1,23 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
|
|
||||||
<div x="2%" y="1%" width="96%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
|
<header width="80%" height="8%" align="center" I18N="Title in grand prix editor screen" text="Grand Prix editor" text_align="center"/>
|
||||||
|
<spacer width="100%" height="1%"/>
|
||||||
|
|
||||||
<header width="80%" I18N="Title in grand prix editor screen" text="Grand Prix editor"
|
<box proportion="5" width="100%" layout="vertical-row">
|
||||||
align="center" text_align="center" />
|
|
||||||
|
|
||||||
<spacer height="10" />
|
|
||||||
|
|
||||||
<box proportion="8" width="100%" layout="vertical-row">
|
|
||||||
<ribbon_grid id="gplist" proportion="1" width="100%" square_items="true"
|
<ribbon_grid id="gplist" proportion="1" width="100%" square_items="true"
|
||||||
label_location="each" align="left" max_rows="2" child_width="160"
|
label_location="each" align="left" max_rows="1" child_width="160"
|
||||||
child_height="120" keep_selection="true" />
|
child_height="120" keep_selection="true" />
|
||||||
</box>
|
</box>
|
||||||
|
|
||||||
<!-- Populated dynamically at runtime -->
|
<!-- Populated dynamically at runtime -->
|
||||||
<tabs width="100%" height="5%" id="gpgroups"> </tabs>
|
<tabs width="100%" height="1f" id="gpgroups"> </tabs>
|
||||||
|
|
||||||
<spacer height="20" />
|
<spacer height="20" />
|
||||||
|
|
||||||
<box proportion="5" width="100%" layout="vertical-row">
|
<box proportion="6" width="100%" layout="vertical-row">
|
||||||
<label id="gpname" text_align="center" width="100%" text="" />
|
<label id="gpname" text_align="center" width="100%" text="" />
|
||||||
<ribbon_grid id="tracks" proportion="1" width="100%" square_items="true"
|
<ribbon_grid id="tracks" proportion="1" width="100%" square_items="true"
|
||||||
label_location="each" align="left" max_rows="1"
|
label_location="each" align="left" max_rows="1"
|
||||||
@@ -34,7 +31,7 @@
|
|||||||
I18N="Menu item" text="New" />
|
I18N="Menu item" text="New" />
|
||||||
<icon-button id="copy" width="128" height="128" icon="gui/icons/gp_copy.png"
|
<icon-button id="copy" width="128" height="128" icon="gui/icons/gp_copy.png"
|
||||||
I18N="Menu item" text="Copy" />
|
I18N="Menu item" text="Copy" />
|
||||||
<icon-button id="edit" width="128" height="128" icon="gui/icons/edit.png"
|
<icon-button id="edit" width="128" height="128" icon="gui/icons/gp_edit.png"
|
||||||
I18N="Menu item" text="Edit" />
|
I18N="Menu item" text="Edit" />
|
||||||
<icon-button id="remove" width="128" height="128" icon="gui/icons/gp_remove.png"
|
<icon-button id="remove" width="128" height="128" icon="gui/icons/gp_remove.png"
|
||||||
I18N="Menu item" text="Remove" />
|
I18N="Menu item" text="Remove" />
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
<header width="80%" height="7%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
<header width="80%" height="8%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
||||||
<spacer height="1%" width="100%"/>
|
<spacer height="1%" width="100%"/>
|
||||||
|
|
||||||
<div width="100%" height="92%" layout="horizontal-row" >
|
<div width="100%" height="91%" layout="horizontal-row" >
|
||||||
|
|
||||||
<vertical-tabs id="category" height="100%" width="18%">
|
<vertical-tabs id="category" height="100%" width="18%">
|
||||||
<icon-button id="page1" width="128" height="128" icon="gui/icons/track_random.png"
|
<icon-button id="page1" width="128" height="128" icon="gui/icons/options_general.png"
|
||||||
I18N="Tab in help menu" text="General"/>
|
I18N="Tab in help menu" text="General"/>
|
||||||
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
||||||
I18N="Tab in help menu" text="Game Modes"/>
|
I18N="Tab in help menu" text="Game Modes"/>
|
||||||
@@ -30,52 +30,52 @@
|
|||||||
|
|
||||||
<spacer width="5" height="1%"/>
|
<spacer width="5" height="1%"/>
|
||||||
<div width="50%" height="7%" align="center" layout="horizontal-row">
|
<div width="50%" height="7%" align="center" layout="horizontal-row">
|
||||||
<icon id="tutorialIcon" width="64" height="64" align="center" icon="gui/icons/tutorial.png"/>
|
<icon id="tutorialIcon" width="8%" height="100%" align="center" icon="gui/icons/tutorial.png"/>
|
||||||
<button id="startTutorial" align="center" text="Start the tutorial"/>
|
<button id="startTutorial" align="center" text="Start the tutorial"/>
|
||||||
</div>
|
</div>
|
||||||
<spacer width="5" height="2%"/>
|
<spacer width="5" height="2%"/>
|
||||||
|
|
||||||
<div width="100%" proportion="4" layout="horizontal-row">
|
<div width="100%" proportion="4" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/gift.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/gift.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="7" height="100%" word_wrap="true"
|
<bubble proportion="7" height="100%" word_wrap="true"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Collect blue gift boxes, they will give you powerups."/>
|
text="Collect blue gift boxes, they will give you powerups."/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/banana.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/banana.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="3" height="100%" word_wrap="true"
|
<bubble proportion="3" height="100%" word_wrap="true"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Avoid bananas!"/>
|
text="Avoid bananas!"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="6" layout="horizontal-row">
|
<div width="100%" proportion="6" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/nitro.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/nitro.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="3" height="100%" word_wrap="true"
|
<bubble proportion="3" height="100%" word_wrap="true"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Collecting nitro allows you to get speed boosts whenever you wish by pressing the appropriate key or button. You can see your current level of nitro in the gauge at the bottom-right of the race screen."/>
|
text="Collecting nitro allows you to get speed boosts whenever you wish by pressing the appropriate key or button. You can see your current level of nitro in the gauge at the bottom-right of the race screen."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="4" layout="horizontal-row">
|
<div width="100%" proportion="4" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/gui_lock.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/gui_lock.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="2" height="100%" word_wrap="true"
|
<bubble proportion="2" height="100%" word_wrap="true"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="If you see a button with a lock like this one, you need to complete a challenge to unlock it."/>
|
text="If you see a button with a lock like this one, you need to complete a challenge to unlock it."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="6" layout="horizontal-row">
|
<div width="100%" proportion="6" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/android/drift.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/android/drift.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="2" height="100%" word_wrap="true"
|
<bubble proportion="2" height="100%" word_wrap="true"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="You can skid by pressing a special key or button. Successive short skids help to take sharp turns; while medium skids will boost your speed, long skids more so. You can't stop turning while skidding, so orient your kart carefully before!"/>
|
text="You can skid by pressing a special key or button. Successive short skids help to take sharp turns; while medium skids will boost your speed, long skids more so. You can't stop turning while skidding, so orient your kart carefully before!"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="4" layout="horizontal-row">
|
<div width="100%" proportion="4" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/speed.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/speed.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="2" height="100%" word_wrap="true"
|
<bubble proportion="2" height="100%" word_wrap="true"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="You can get a startup boost by pressing the accelerate button at 'Set!', before the race's start."/>
|
text="You can get a startup boost by pressing the accelerate button at 'Set!', before the race's start."/>
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
<header width="80%" height="7%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
<header width="80%" height="8%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
||||||
<spacer height="1%" width="100%"/>
|
<spacer height="1%" width="100%"/>
|
||||||
|
|
||||||
<div width="100%" height="92%" layout="horizontal-row" >
|
<div width="100%" height="91%" layout="horizontal-row" >
|
||||||
|
|
||||||
<vertical-tabs id="category" height="100%" width="18%">
|
<vertical-tabs id="category" height="100%" width="18%">
|
||||||
<icon-button id="page1" width="128" height="128" icon="gui/icons/track_random.png"
|
<icon-button id="page1" width="128" height="128" icon="gui/icons/options_general.png"
|
||||||
I18N="Tab in help menu" text="General"/>
|
I18N="Tab in help menu" text="General"/>
|
||||||
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
||||||
I18N="Tab in help menu" text="Game Modes"/>
|
I18N="Tab in help menu" text="Game Modes"/>
|
||||||
@@ -32,55 +32,55 @@
|
|||||||
<spacer height="2%" width="10"/>
|
<spacer height="2%" width="10"/>
|
||||||
|
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/mode_normal.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/mode_normal.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Regular Race: All blows allowed, so collect powerups and use them smartly!"/>
|
text="Regular Race: All blows allowed, so collect powerups and use them smartly!"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/mode_tt.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/mode_tt.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Time Trial: Contains no powerups, so only your driving skills matter!"/>
|
text="Time Trial: Contains no powerups, so only your driving skills matter!"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/mode_ftl.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/mode_ftl.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Follow the leader: Run for second place, as the last kart will be disqualified every time the counter hits zero. Beware: going in front of the leader will get you eliminated too!"/>
|
text="Follow the leader: Run for second place, as the last kart will be disqualified every time the counter hits zero. Beware: going in front of the leader will get you eliminated too!"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/gift.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/mode_weapons.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="There are 3 types of battle mode: In 3 Strikes Battle, you need to hit others with weapons until they lose all their lives. In Free-For-All, the player who hits others the most will win in a given hit or time limit. In Capture The Flag, your team needs to bring the flag of the other team to your own flag base, as long as your flag is not captured by the other team."/>
|
text="There are 3 types of battle mode: In 3 Strikes Battle, you need to hit others with weapons until they lose all their lives. In Free-For-All, the player who hits others the most will win in a given hit or time limit. In Capture The Flag, your team needs to bring the flag of the other team to your own flag base, as long as your flag is not captured by the other team."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/mode_soccer.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/mode_soccer.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Soccer: Use your kart to push the ball into the goal."/>
|
text="Soccer: Use your kart to push the ball into the goal."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/mode_easter.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/mode_easter.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Egg hunt: Explore tracks to find all hidden eggs."/>
|
text="Egg hunt: Explore tracks to find all hidden eggs."/>
|
||||||
</div>
|
</div>
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/mode_ghost.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/mode_ghost.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Ghost replay: Race against ghost replays in time-trial or egg hunt mode, and record your own!"/>
|
text="Ghost replay: Race against ghost replays in time-trial or egg hunt mode, and record your own!"/>
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
<header width="80%" height="7%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
<header width="80%" height="8%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
||||||
<spacer height="1%" width="100%"/>
|
<spacer height="1%" width="100%"/>
|
||||||
|
|
||||||
<div width="100%" height="92%" layout="horizontal-row" >
|
<div width="100%" height="91%" layout="horizontal-row" >
|
||||||
|
|
||||||
<vertical-tabs id="category" height="100%" width="18%">
|
<vertical-tabs id="category" height="100%" width="18%">
|
||||||
<icon-button id="page1" width="128" height="128" icon="gui/icons/track_random.png"
|
<icon-button id="page1" width="128" height="128" icon="gui/icons/options_general.png"
|
||||||
I18N="Tab in help menu" text="General"/>
|
I18N="Tab in help menu" text="General"/>
|
||||||
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
||||||
I18N="Tab in help menu" text="Game Modes"/>
|
I18N="Tab in help menu" text="Game Modes"/>
|
||||||
@@ -32,58 +32,58 @@
|
|||||||
<spacer height="2%" width="10"/>
|
<spacer height="2%" width="10"/>
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
<div width="100%" proportion="1" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="models/bubblegum-icon.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/bubblegum_icon.png" alt_icon="models/bubblegum-icon.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%" text="BubbleGum - protect yourself with a shield, or use while looking back to leave a sticky pink puddle behind you."/>
|
<bubble proportion="1" height="100%" text="BubbleGum - protect yourself with a shield, or use while looking back to leave a sticky pink puddle behind you."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
<div width="100%" proportion="1" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="models/zipper_collect.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/zipper_collect.png" alt_icon="models/zipper_collect.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%" text="Zipper - will give you a strong speed boost. But beware of not losing control of your kart!"/>
|
<bubble proportion="1" height="100%" text="Zipper - will give you a strong speed boost. But beware of not losing control of your kart!"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
<div width="100%" proportion="1" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="models/cake-icon.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/cake_icon.png" alt_icon="models/cake-icon.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
text="Cake - thrown at the closest rival, best on short ranges and long straights. It also affects other karts close to the explosion."/>
|
text="Cake - thrown at the closest rival, best on short ranges and long straights. It also affects other karts close to the explosion."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
<div width="100%" proportion="1" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="models/plunger-icon.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/plunger_icon.png" alt_icon="models/plunger-icon.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%" text="Plunger - throw straight to pull an opponent back, or throw while looking back to make one lose sight."/>
|
<bubble proportion="1" height="100%" text="Plunger - throw straight to pull an opponent back, or throw while looking back to make one lose sight."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
<div width="100%" proportion="1" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="models/bowling-icon.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/bowling_icon.png" alt_icon="models/bowling-icon.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
text="Bowling Ball - goes straight until it strikes, it can bounce off walls. If you are looking back, it will be thrown backwards."/>
|
text="Bowling Ball - goes straight until it strikes, it can bounce off walls. If you are looking back, it will be thrown backwards."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
<div width="100%" proportion="1" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="models/parachute-icon.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/parachute_icon.png" alt_icon="models/parachute-icon.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%" text="Parachute - slows down all karts in a better position."/>
|
<bubble proportion="1" height="100%" text="Parachute - slows down all karts in a better position."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
<div width="100%" proportion="1" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="models/swap-icon.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/swap_icon.png" alt_icon="models/swap-icon.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%" text="Swapper - gift boxes are transformed into bananas, nitro cans into bubblegums, and vice versa for a short time."/>
|
<bubble proportion="1" height="100%" text="Swapper - gift boxes are transformed into bananas, nitro cans into bubblegums, and vice versa for a short time."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
<div width="100%" proportion="1" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="models/rubber_ball-icon.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/rubber_ball_icon.png" alt_icon="models/rubber_ball-icon.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%" text="Basket Ball - bounces after the leader, and might squash and slow down karts down on the way."/>
|
<bubble proportion="1" height="100%" text="Basket Ball - bounces after the leader, and might squash and slow down karts down on the way."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="1" layout="horizontal-row">
|
<div width="100%" proportion="1" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="models/swatter-icon.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/swatter_icon.png" alt_icon="models/swatter-icon.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%" text="Swatter - will squash karts close by, slowing them down. Can also be used to remove parachutes and bombs."/>
|
<bubble proportion="1" height="100%" text="Swatter - will squash karts close by, slowing them down. Can also be used to remove parachutes and bombs."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
<header width="80%" height="7%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
<header width="80%" height="8%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
||||||
<spacer height="1%" width="100%"/>
|
<spacer height="1%" width="100%"/>
|
||||||
|
|
||||||
<div width="100%" height="92%" layout="horizontal-row" >
|
<div width="100%" height="91%" layout="horizontal-row" >
|
||||||
|
|
||||||
<vertical-tabs id="category" height="100%" width="18%">
|
<vertical-tabs id="category" height="100%" width="18%">
|
||||||
<icon-button id="page1" width="128" height="128" icon="gui/icons/track_random.png"
|
<icon-button id="page1" width="128" height="128" icon="gui/icons/options_general.png"
|
||||||
I18N="Tab in help menu" text="General"/>
|
I18N="Tab in help menu" text="General"/>
|
||||||
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
||||||
I18N="Tab in help menu" text="Game Modes"/>
|
I18N="Tab in help menu" text="Game Modes"/>
|
||||||
@@ -32,24 +32,24 @@
|
|||||||
<spacer height="2%" width="10"/>
|
<spacer height="2%" width="10"/>
|
||||||
|
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="models/anchor-icon.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/anchor_icon.png" alt_icon="models/anchor-icon.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Anchor - slows down the kart suddenly."/>
|
text="Anchor - slows down the kart suddenly."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="models/parachute-icon.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/parachute_icon.png" alt_icon="models/parachute-icon.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Parachute - slows down the kart, more progressively than the anchor. The faster you go, the stronger it slows you down."/>
|
text="Parachute - slows down the kart, more progressively than the anchor. The faster you go, the stronger it slows you down."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/bomb_icon.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/bomb_icon.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Bomb - detonates after some amount of time, throwing the kart up in the air. Bump into another kart to transfer the bomb to it."/>
|
text="Bomb - detonates after some amount of time, throwing the kart up in the air. Bump into another kart to transfer the bomb to it."/>
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
<header width="80%" height="7%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
<header width="80%" height="8%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
||||||
<spacer height="1%" width="100%"/>
|
<spacer height="1%" width="100%"/>
|
||||||
|
|
||||||
<div width="100%" height="92%" layout="horizontal-row" >
|
<div width="100%" height="91%" layout="horizontal-row" >
|
||||||
|
|
||||||
<vertical-tabs id="category" height="100%" width="18%">
|
<vertical-tabs id="category" height="100%" width="18%">
|
||||||
<icon-button id="page1" width="128" height="128" icon="gui/icons/track_random.png"
|
<icon-button id="page1" width="128" height="128" icon="gui/icons/options_general.png"
|
||||||
I18N="Tab in help menu" text="General"/>
|
I18N="Tab in help menu" text="General"/>
|
||||||
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
||||||
I18N="Tab in help menu" text="Game Modes"/>
|
I18N="Tab in help menu" text="Game Modes"/>
|
||||||
@@ -32,24 +32,24 @@
|
|||||||
<spacer height="2%" width="10"/>
|
<spacer height="2%" width="10"/>
|
||||||
|
|
||||||
<div width="100%" proportion="5" layout="horizontal-row">
|
<div width="100%" proportion="5" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/challenge.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/challenge.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="This icon on the minimap shows the available challenges you've not completed. In the top-right of the screen, it also tells you how many points you currently have. Complete as many challenges as possible, and Nolok will accept to race against you. Win to liberate Gnu!"/>
|
text="This icon on the minimap shows the available challenges you've not completed. In the top-right of the screen, it also tells you how many points you currently have. Complete as many challenges as possible, and Nolok will accept to race against you. Win to liberate Gnu!"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="4" layout="horizontal-row">
|
<div width="100%" proportion="4" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/cup_gold.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/cup_gold.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="When you complete a challenge, you get a cup. Each cup is worth several points. The higher the difficulty you completed the challenge in, the better the cup and the more points it is worth."/>
|
text="When you complete a challenge, you get a cup. Each cup is worth several points. The higher the difficulty you completed the challenge in, the better the cup and the more points it is worth."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="3" layout="horizontal-row">
|
<div width="100%" proportion="3" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/mystery_unlock.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/mystery_unlock.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="When you get the number of points indicated below this icon, you'll be gifted a surprise. There are several to collect."/>
|
text="When you get the number of points indicated below this icon, you'll be gifted a surprise. There are several to collect."/>
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
<header width="80%" height="7%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
<header width="80%" height="8%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
||||||
<spacer height="1%" width="100%"/>
|
<spacer height="1%" width="100%"/>
|
||||||
|
|
||||||
<div width="100%" height="92%" layout="horizontal-row" >
|
<div width="100%" height="91%" layout="horizontal-row" >
|
||||||
|
|
||||||
<vertical-tabs id="category" height="100%" width="18%">
|
<vertical-tabs id="category" height="100%" width="18%">
|
||||||
<icon-button id="page1" width="128" height="128" icon="gui/icons/track_random.png"
|
<icon-button id="page1" width="128" height="128" icon="gui/icons/options_general.png"
|
||||||
I18N="Tab in help menu" text="General"/>
|
I18N="Tab in help menu" text="General"/>
|
||||||
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
||||||
I18N="Tab in help menu" text="Game Modes"/>
|
I18N="Tab in help menu" text="Game Modes"/>
|
||||||
@@ -32,40 +32,40 @@
|
|||||||
<spacer height="2%" width="10"/>
|
<spacer height="2%" width="10"/>
|
||||||
|
|
||||||
<div width="100%" proportion="4" layout="horizontal-row">
|
<div width="100%" proportion="4" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/mass.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/mass.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Mass - there are three classes of karts, depending of their mass: light, medium and heavy. Heavier karts are less affected by parachutes and are more resistant to explosions."/>
|
text="Mass - there are three classes of karts, depending on their mass: light, medium and heavy. Heavier karts are less affected by parachutes and are more resistant to explosions."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="4" layout="horizontal-row">
|
<div width="100%" proportion="4" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/power.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/power.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Acceleration - especially useful at start, after an accident, or in tracks with a lot of sharp curves. The lighter the kart, the faster it accelerates, especially at low speeds."/>
|
text="Acceleration - especially useful at start, after an accident, or in tracks with a lot of sharp curves. The lighter the kart, the faster it accelerates, especially at low speeds."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="4" layout="horizontal-row">
|
<div width="100%" proportion="4" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/speed.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/speed.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Max speed - the higher it is, the faster the kart can go. Especially useful in tracks with straight lines and gentle curves. Heavier karts have a higher top speed."/>
|
text="Max speed - the higher it is, the faster the kart can go. Especially useful in tracks with straight lines and gentle curves. Heavier karts have a higher top speed."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="3" layout="horizontal-row">
|
<div width="100%" proportion="3" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/nitro.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/nitro.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Nitro consumption - the lower it is, the more speed you can get from a can of nitro. The lighter the kart, the lower its nitro consumption."/>
|
text="Nitro efficiency - The higher it is, the more speed you get from a can of nitro. A lighter kart will have higher nitro efficiency."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="4" layout="horizontal-row">
|
<div width="100%" proportion="4" layout="horizontal-row">
|
||||||
<icon align="center" width="128" height="128" icon="gui/icons/slipstream_icon.png"/>
|
<icon align="center" width="12%" height="100%" icon="gui/icons/slipstream_icon.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%" word_wrap="true"
|
<bubble proportion="1" height="100%" word_wrap="true"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="If you follow closely another kart for a few seconds, you'll get a slipstream speed bonus when you overtake it. The lighter your kart, the easier it is."/>
|
text="If you follow closely another kart for a few seconds, you'll get a slipstream speed bonus when you overtake it. The lighter your kart, the easier it is."/>
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
<header width="80%" height="7%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
<header width="80%" height="8%" align="center" text="SuperTuxKart Help" text_align="center"/>
|
||||||
<spacer height="1%" width="100%"/>
|
<spacer height="1%" width="100%"/>
|
||||||
|
|
||||||
<div width="100%" height="92%" layout="horizontal-row" >
|
<div width="100%" height="91%" layout="horizontal-row" >
|
||||||
|
|
||||||
<vertical-tabs id="category" height="100%" width="18%">
|
<vertical-tabs id="category" height="100%" width="18%">
|
||||||
<icon-button id="page1" width="128" height="128" icon="gui/icons/track_random.png"
|
<icon-button id="page1" width="128" height="128" icon="gui/icons/options_general.png"
|
||||||
I18N="Tab in help menu" text="General"/>
|
I18N="Tab in help menu" text="General"/>
|
||||||
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
<icon-button id="page2" width="128" height="128" icon="gui/icons/mode_ftl.png"
|
||||||
I18N="Tab in help menu" text="Game Modes"/>
|
I18N="Tab in help menu" text="Game Modes"/>
|
||||||
@@ -29,16 +29,16 @@
|
|||||||
<box width="80%" height="100%" layout="vertical-row">
|
<box width="80%" height="100%" layout="vertical-row">
|
||||||
<label align="center" I18N="In the help menu" text="SuperTuxKart can be played in multiplayer mode online...:"/>
|
<label align="center" I18N="In the help menu" text="SuperTuxKart can be played in multiplayer mode online...:"/>
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/networking_icon.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/networking_icon.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="First, select the 'online' icon in the main menu. Choose either local networking, or global networking (requires internet to be enabled in the options). Then, you can either create your own server with custom options, or search among a list of existing servers to join. Some of them are recommended servers with optionally ranked races."/>
|
text="First, select the 'online' icon in the main menu. Choose either local networking, or global networking (requires internet to be enabled in the options). Then, you can either create your own server with custom options, or search among a list of existing servers to join. Some of them are recommended servers with optionally ranked races."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/crown.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/crown.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="Once in a server, a race will begin once its owner (symbolized with the crown) decides so. Official servers may auto-start races only when there are enough players. Then, you can choose your kart and vote for the next track to race on. An addon kart or track is allowed only if it exists on all joined players and the server."/>
|
text="Once in a server, a race will begin once its owner (symbolized with the crown) decides so. Official servers may auto-start races only when there are enough players. Then, you can choose your kart and vote for the next track to race on. An addon kart or track is allowed only if it exists on all joined players and the server."/>
|
||||||
@@ -47,19 +47,19 @@
|
|||||||
<label align="center" I18N="In the help menu" text="... or on the same computer:"/>
|
<label align="center" I18N="In the help menu" text="... or on the same computer:"/>
|
||||||
|
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/options_input.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/options_input.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="First, you will need several input devices. Use the input configuration screen to set them up. Multiple gamepads or joysticks are ideal: on keyboard(s), each player will need a different set of keys, and most keyboards are not appropriate for multiplayer because they don't support multiple simultaneous keypresses."/>
|
text="First, you will need several input devices. Use the input configuration screen to set them up. Multiple gamepads or joysticks are ideal: on keyboard(s), each player will need a different set of keys, and most keyboards are not appropriate for multiplayer because they don't support multiple simultaneous keypresses."/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<icon align="center" width="64" height="64" icon="gui/icons/random_kart.png"/>
|
<icon align="center" width="8%" height="100%" icon="gui/icons/random_kart.png"/>
|
||||||
<spacer width="25" height="25"/>
|
<spacer width="3%" height="100%"/>
|
||||||
<bubble proportion="1" height="100%"
|
<bubble proportion="1" height="100%"
|
||||||
I18N="In the help menu"
|
I18N="In the help menu"
|
||||||
text="When input devices are configured, select the 'multiplayer' icon in the main menu. Each player can press the 'fire' key of their gamepad or keyboard to join the game, and use their input device to select their kart. The game continues when everyone selected their kart. Note that the mouse may not be used for this operation."/>
|
text="When input devices are configured, select the 'Splitscreen Multiplayer' icon in the main menu. Each player can press the 'fire' key of their gamepad or keyboard to join the game, and use their input device to select their kart. The game continues when everyone selected their kart. Note that the mouse may not be used for this operation."/>
|
||||||
</div>
|
</div>
|
||||||
<spacer width="50" height="25" />
|
<spacer width="50" height="25" />
|
||||||
</box>
|
</box>
|
||||||
|
|||||||
@@ -1,30 +1,28 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="1%" y="1%" width="98%" height="99%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="99%" layout="vertical-row" >
|
||||||
|
<header width="80%" height="8%"
|
||||||
<header width="80%" height="7%"
|
|
||||||
I18N="In the kart selection (player setup) screen"
|
I18N="In the kart selection (player setup) screen"
|
||||||
text="Choose a Kart"
|
text="Choose a Kart"
|
||||||
align="center" text_align="center" />
|
align="center" text_align="center" />
|
||||||
|
|
||||||
<spacer height="1%" width="25"/>
|
<spacer height="1%" width="25"/>
|
||||||
|
|
||||||
<placeholder id="playerskarts" width="100%" align="center" proportion="4">
|
<placeholder id="playerskarts" width="100%" align="center" proportion="4">
|
||||||
<!-- Contents is added programatically -->
|
<!-- Contents is added programatically -->
|
||||||
</placeholder>
|
</placeholder>
|
||||||
|
|
||||||
<spacer height="15" width="25"/>
|
<spacer height="1f" width="25"/>
|
||||||
|
|
||||||
<box proportion="2" width="100%" layout="vertical-row" padding="2">
|
<box proportion="2" width="100%" layout="vertical-row" padding="2">
|
||||||
<ribbon_grid id="karts" proportion="1" square_items="true" width="100%" align="center"
|
<ribbon_grid id="karts" proportion="1" square_items="true" width="100%" align="center"
|
||||||
child_width="90" child_height="90" max_rows="3"/>
|
child_width="90" child_height="90" max_rows="2"/>
|
||||||
</box>
|
</box>
|
||||||
|
|
||||||
<!-- Groups will be added dynamically at runtime -->
|
<!-- Groups will be added dynamically at runtime -->
|
||||||
<tabs width="98%" x="1%" height="5%" id="kartgroups">
|
<tabs width="98%" x="1%" height="1f" id="kartgroups">
|
||||||
</tabs>
|
</tabs>
|
||||||
<spacer width="100%" height="2%"/>
|
<spacer width="100%" height="2%"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,28 +1,24 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="0" y="0" width="100%" height="fit" layout="vertical-row">
|
|
||||||
<button id="user-id" width="20%" height="fit" align="right"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div x="0" y="0" width="100%" height="100%" layout="vertical-row" >
|
<div x="0" y="0" width="100%" height="100%" layout="vertical-row" >
|
||||||
<icon id="logo" align="center" proportion="5" width="100%" icon="gui/icons/logo.png"/>
|
<icon id="logo" align="center" proportion="5" width="100%" icon="gui/icons/logo.png"/>
|
||||||
|
|
||||||
<buttonbar id="menu_toprow" proportion="3" width="90%" align="center">
|
<buttonbar id="menu_toprow" proportion="3" width="90%" align="center">
|
||||||
<icon-button id="story" width="128" height="128"
|
<icon-button id="story" width="128" height="128"
|
||||||
icon="gui/icons/menu_story.png" focus_icon="gui/icons/menu_story_focus.png"
|
icon="gui/icons/menu_story.png" focus_icon="gui/icons/menu_story_focus.png"
|
||||||
I18N="Main menu button" text="Story Mode"/>
|
I18N="Main menu button" text="Story Mode" word_wrap="true"/>
|
||||||
<icon-button id="new" width="128" height="128"
|
<icon-button id="new" width="128" height="128"
|
||||||
icon="gui/icons/menu_race.png" focus_icon="gui/icons/menu_race_focus.png"
|
icon="gui/icons/menu_race.png" focus_icon="gui/icons/menu_race_focus.png"
|
||||||
I18N="Main menu button" text="Singleplayer"/>
|
I18N="Main menu button" text="Singleplayer" word_wrap="true"/>
|
||||||
<icon-button id="multiplayer" width="128" height="128"
|
<icon-button id="multiplayer" width="128" height="128"
|
||||||
icon="gui/icons/menu_multi.png" focus_icon="gui/icons/menu_multi_focus.png"
|
icon="gui/icons/menu_multi.png" focus_icon="gui/icons/menu_multi_focus.png"
|
||||||
I18N="Main menu button" text="Local Multiplayer"/>
|
I18N="Main menu button" text="Splitscreen Multiplayer" word_wrap="true"/>
|
||||||
<icon-button id="online" width="128" height="128"
|
<icon-button id="online" width="128" height="128"
|
||||||
icon="gui/icons/menu_online.png" focus_icon="gui/icons/menu_online_focus.png"
|
icon="gui/icons/menu_online.png" focus_icon="gui/icons/menu_online_focus.png"
|
||||||
I18N="Main menu button" text="Online"/>
|
I18N="Main menu button" text="Online" word_wrap="true"/>
|
||||||
<icon-button id="addons" width="128" height="128"
|
<icon-button id="addons" width="128" height="128"
|
||||||
icon="gui/icons/menu_addons.png" focus_icon="gui/icons/menu_addons_focus.png"
|
icon="gui/icons/menu_addons.png" focus_icon="gui/icons/menu_addons_focus.png"
|
||||||
I18N="Main menu button" text="Addons"/>
|
I18N="Main menu button" text="Addons" word_wrap="true"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
|
||||||
<spacer width="10" height="6%"/>
|
<spacer width="10" height="6%"/>
|
||||||
@@ -68,4 +64,8 @@
|
|||||||
</buttonbar>
|
</buttonbar>
|
||||||
</bottombar>
|
</bottombar>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div x="0" y="0" width="100%" height="fit" layout="vertical-row">
|
||||||
|
<button id="user-id" width="12f" height="fit" align="right"/>
|
||||||
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,32 +1,36 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="0" y="0" width="100%" height="100%" layout="vertical-row" >
|
<div x="0" y="1%" width="100%" height="99%" layout="vertical-row" >
|
||||||
<header id="title" text_align="center" width="80%" align="center" I18N="In the server creation screen" text="Server Creation"/>
|
<header id="title" text_align="center" height="8%" width="80%" align="center" I18N="In the server creation screen" text="Server Creation"/>
|
||||||
<box proportion="1" width="90%" layout="vertical-row" align="center">
|
<spacer width="100%" height="1%"/>
|
||||||
|
|
||||||
|
<box proportion="1" width="89%" layout="vertical-row" align="center">
|
||||||
|
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
<label proportion="1" text_align="left" I18N="In the server creation screen" text="Name of the server"/>
|
<label proportion="1" text_align="left" I18N="In the server creation screen" text="Name of the server"/>
|
||||||
<textbox proportion="1" id="name" I18N="In the server creation screen"/>
|
<textbox proportion="1" id="name" I18N="In the server creation screen"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<spacer height="10" width="20"/>
|
<spacer height="1%" width="20"/>
|
||||||
|
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
<label proportion="1" text_align="left" I18N="In the server creation screen" text="Max. number of players"/>
|
<label proportion="1" text_align="left" I18N="In the server creation screen" text="Max. number of players"/>
|
||||||
<gauge id="max_players" proportion="1" min_value="2"/>
|
<gauge id="max_players" proportion="1" min_value="2"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<spacer height="10" width="20"/>
|
<spacer height="1%" width="20"/>
|
||||||
|
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
<label proportion="1" text_align="left" I18N="In the server creation screen" text="Password for private server (optional)"/>
|
<label proportion="1" text_align="left" I18N="In the server creation screen" text="Password for private server (optional)"/>
|
||||||
<textbox proportion="1" id="password" I18N="In the server creation screen"/>
|
<textbox proportion="1" id="password" I18N="In the server creation screen"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<spacer height="5" width="20"/>
|
<spacer height="2%" width="20"/>
|
||||||
|
|
||||||
<label width="100%" height="fit" text_align="left" I18N="In the server creation screen" text="Difficulty"/>
|
<div width="100%" height="19%" layout="horizontal-row" >
|
||||||
<ribbon id="difficulty" height="15%" width="90%" align="center">
|
<label align="center" text_align="left" I18N="In the server creation screen" text="Difficulty"/>
|
||||||
|
<spacer width="5%" height="5"/>
|
||||||
|
<ribbon id="difficulty" height="100%" proportion="1" align="center">
|
||||||
<icon-button id="novice" width="128" height="128" icon="gui/icons/difficulty_easy.png"
|
<icon-button id="novice" width="128" height="128" icon="gui/icons/difficulty_easy.png"
|
||||||
I18N="Difficulty" text="Novice"/>
|
I18N="Difficulty" text="Novice"/>
|
||||||
<icon-button id="intermediate" width="128" height="128" icon="gui/icons/difficulty_medium.png"
|
<icon-button id="intermediate" width="128" height="128" icon="gui/icons/difficulty_medium.png"
|
||||||
@@ -36,19 +40,27 @@
|
|||||||
<icon-button id="best" width="128" height="128" icon="gui/icons/difficulty_best.png"
|
<icon-button id="best" width="128" height="128" icon="gui/icons/difficulty_best.png"
|
||||||
I18N="Difficulty" text="SuperTux"/>
|
I18N="Difficulty" text="SuperTux"/>
|
||||||
</ribbon>
|
</ribbon>
|
||||||
<label width="100%" height="fit" text_align="left" I18N="In the server creation screen" text="Game mode"/>
|
</div>
|
||||||
<ribbon id="gamemode" height="15%" width="90%" align="center">
|
|
||||||
|
<spacer height="2%" width="20"/>
|
||||||
|
|
||||||
|
<div width="100%" height="19%" layout="horizontal-row" >
|
||||||
|
<label align="center" text_align="left" I18N="In the server creation screen" text="Game mode"/>
|
||||||
|
<spacer width="5%" height="5"/>
|
||||||
|
<ribbon id="gamemode" height="100%" proportion="1" align="center">
|
||||||
<icon-button id="normal" width="128" height="128" icon="gui/icons/mode_normal.png"
|
<icon-button id="normal" width="128" height="128" icon="gui/icons/mode_normal.png"
|
||||||
I18N="Multiplayer game mode" text="Normal Race"/>
|
I18N="Multiplayer game mode" text="Normal Race"/>
|
||||||
<icon-button id="timetrial" width="128" height="128" icon="gui/icons/mode_tt.png"
|
<icon-button id="timetrial" width="128" height="128" icon="gui/icons/mode_tt.png"
|
||||||
I18N="Multiplayer game mode" text="Time Trial"/>
|
I18N="Multiplayer game mode" text="Time Trial"/>
|
||||||
<icon-button id="3strikes" width="128" height="128" icon="gui/icons/weapons.png"
|
<icon-button id="3strikes" width="128" height="128" icon="gui/icons/mode_weapons.png"
|
||||||
I18N="Multiplayer game mode" text="Battle"/>
|
I18N="Multiplayer game mode" text="Battle"/>
|
||||||
<icon-button id="soccer" width="128" height="128" icon="gui/icons/mode_soccer.png"
|
<icon-button id="soccer" width="128" height="128" icon="gui/icons/mode_soccer.png"
|
||||||
I18N="Multiplayer game mode" text="Soccer"/>
|
I18N="Multiplayer game mode" text="Soccer"/>
|
||||||
</ribbon>
|
</ribbon>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<spacer height="2%" width="20"/>
|
||||||
|
|
||||||
<spacer height="10" width="20"/>
|
|
||||||
<div width="100%" height="fit" layout="horizontal-row" >
|
<div width="100%" height="fit" layout="horizontal-row" >
|
||||||
<label id="more-options" proportion="1" text_align="left"/>
|
<label id="more-options" proportion="1" text_align="left"/>
|
||||||
<spinner id="more-options-spinner" proportion="1" wrap_around="true"/>
|
<spinner id="more-options-spinner" proportion="1" wrap_around="true"/>
|
||||||
@@ -56,16 +68,16 @@
|
|||||||
|
|
||||||
<label id="info" proportion="1" width="100%" align="center" text_align="center" word_wrap="true" text=""/>
|
<label id="info" proportion="1" width="100%" align="center" text_align="center" word_wrap="true" text=""/>
|
||||||
|
|
||||||
<buttonbar id="options" x="0" y="0" width="40%" height="12%" align="center">
|
<buttonbar id="options" x="0" y="0" width="40%" height="15%" align="center">
|
||||||
<icon-button id="create" width="64" height="64" icon="gui/icons/green_check.png"
|
<icon-button id="create" width="64" height="64" icon="gui/icons/green_check.png"
|
||||||
I18N="In the server creation screen" text="Create" label_location="bottom"/>
|
I18N="In the server creation screen" text="Create" label_location="bottom"/>
|
||||||
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
|
||||||
I18N="In the server creation screen" text="Cancel" label_location="bottom"/>
|
I18N="In the server creation screen" text="Cancel" label_location="bottom"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
|
||||||
<spacer width="10" height="20"/>
|
<spacer width="10" height="1f"/>
|
||||||
|
|
||||||
</box>
|
</box>
|
||||||
<spacer width="10" height="10"/>
|
<spacer width="10" height="2%"/>
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
|
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
<header id="title" text_align="center" width="80%" align="center" text="Local Networking"/>
|
<header id="title" width="80%" height="8%" align="center" text_align="center" text="Local Networking"/>
|
||||||
|
<spacer width="100%" height="1%"/>
|
||||||
|
|
||||||
<spacer height="5%" width="10"/>
|
<spacer height="5%" width="10"/>
|
||||||
<icon id="logo" align="center" proportion="1" width="100%" icon="gui/icons/logo.png"/>
|
<icon id="logo" align="center" proportion="1" width="100%" icon="gui/icons/logo.png"/>
|
||||||
@@ -23,7 +24,7 @@
|
|||||||
-->
|
-->
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
|
||||||
<spacer height="10%" width="10"/>
|
<spacer height="5%" width="10"/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,11 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="1%" y="1%" width="98%" height="96%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
|
<header width="80%" height="8%" align="center" text_align="center" I18N="In the kart selection (player setup) screen" text="Choose a Kart"/>
|
||||||
<header width="80%"
|
<spacer width="100%" height="1%"/>
|
||||||
I18N="In the kart selection (player setup) screen"
|
|
||||||
text="Choose a Kart"
|
|
||||||
align="center" text_align="center" />
|
|
||||||
|
|
||||||
<placeholder id="playerskarts" width="100%" align="center" proportion="5">
|
<placeholder id="playerskarts" width="100%" align="center" proportion="5">
|
||||||
<!-- Contents is added programatically -->
|
<!-- Contents is added programatically -->
|
||||||
@@ -15,15 +12,15 @@
|
|||||||
|
|
||||||
<box proportion="2" width="100%" layout="vertical-row" padding="2">
|
<box proportion="2" width="100%" layout="vertical-row" padding="2">
|
||||||
<ribbon_grid id="karts" proportion="1" square_items="true" width="100%" align="center"
|
<ribbon_grid id="karts" proportion="1" square_items="true" width="100%" align="center"
|
||||||
child_width="90" child_height="90" max_rows="3"/>
|
child_width="90" child_height="90" max_rows="2"/>
|
||||||
</box>
|
</box>
|
||||||
|
|
||||||
<!-- Groups will be added dynamically at runtime -->
|
<!-- Groups will be added dynamically at runtime -->
|
||||||
<tabs width="98%" x="1%" height="5%" id="kartgroups">
|
<tabs width="98%" x="1%" height="1f" id="kartgroups">
|
||||||
</tabs>
|
</tabs>
|
||||||
<spacer width="100%" height="2%"/>
|
<spacer width="100%" height="2%"/>
|
||||||
<progressbar x="1%" id="timer" height="4%" width="98%"></progressbar>
|
<progressbar x="1%" id="timer" height="1f" width="98%"></progressbar>
|
||||||
</div>
|
</div>
|
||||||
<icon-button id="back" x="1%" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
|
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="0" y="0" width="100%" height="100%" layout="vertical-row" >
|
<div x="0" y="1%" width="100%" height="98%" layout="vertical-row" >
|
||||||
<header id="lobby-text" text_align="center" width="80%" height="7%" align="center" I18N="In networking lobby" text="Lobby"/>
|
<header id="lobby-text" text_align="center" width="80%" height="8%" align="center" I18N="In networking lobby" text="Lobby"/>
|
||||||
<spacer height="2%" width="10"/>
|
<spacer height="1%" width="10"/>
|
||||||
<div proportion="9" x="2%" width="96%" layout="vertical-row">
|
<div proportion="9" x="2%" width="96%" layout="vertical-row">
|
||||||
<div width="100%" proportion="2" layout="horizontal-row">
|
<div width="100%" proportion="2" layout="horizontal-row">
|
||||||
<box id="info" proportion="2" height="100%" layout="vertical-row">
|
<box id="info" proportion="2" height="100%" layout="vertical-row">
|
||||||
@@ -14,13 +14,15 @@
|
|||||||
</box>
|
</box>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<spacer height="2%"/>
|
<spacer height="1%"/>
|
||||||
<div x="2%" width="96%" height="20%" layout="horizontal-row">
|
<div x="2%" width="96%" height="4f" layout="horizontal-row">
|
||||||
<box proportion="2" height="100%" layout="vertical-row">
|
<box proportion="2" height="100%" layout="vertical-row">
|
||||||
<div x="1%" width="98%" height="fit" layout="horizontal-row">
|
<div x="1%" width="98%" height="fit" layout="horizontal-row">
|
||||||
<textbox id="chat" proportion="1"/>
|
<textbox id="chat" proportion="1"/>
|
||||||
<spacer width="3%" height="10"/>
|
<spacer width="2%" height="10"/>
|
||||||
<button id="send" width="20%" height="fit" align="center" I18N="In the network lobby" text="Send"/>
|
<button id="send" width="10%" height="fit" align="center" text=""/>
|
||||||
|
<spacer width="1%" height="10"/>
|
||||||
|
<button id="emoji" width="10%" height="fit" align="center" text=""/>
|
||||||
</div>
|
</div>
|
||||||
<spacer height="5%" width="10"/>
|
<spacer height="5%" width="10"/>
|
||||||
<label id="timeout-message" x="1%" width="98%" proportion="1" text="" word_wrap="true" align="center"/>
|
<label id="timeout-message" x="1%" width="98%" proportion="1" text="" word_wrap="true" align="center"/>
|
||||||
@@ -36,7 +38,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<spacer height="2%"/>
|
<spacer height="1%"/>
|
||||||
</div>
|
</div>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="0" y="0" width="100%" height="100%" layout="vertical-row" >
|
<div x="0" y="1%" width="100%" height="98%" layout="vertical-row" >
|
||||||
<header text_align="center" width="80%" align="center" text="Online"/>
|
<header text_align="center" height="8%" width="80%" align="center" text="Online"/>
|
||||||
<spacer height="15" width="10"/>
|
<spacer height="1%" width="10"/>
|
||||||
<button id="user-id" width="20%" height="fit" align="center"/>
|
|
||||||
<spacer height="20"/>
|
<button id="user-id" width="12f" height="fit" align="center"/>
|
||||||
|
<spacer height="2%" width="10"/>
|
||||||
|
|
||||||
<box width="fit" height="fit" layout="horizontal-row" align="center" valign="center">
|
<box width="fit" height="fit" layout="horizontal-row" align="center" valign="center">
|
||||||
<spacer width="25"/>
|
<spacer width="25"/>
|
||||||
@@ -15,29 +16,26 @@
|
|||||||
<spacer width="25"/>
|
<spacer width="25"/>
|
||||||
</box>
|
</box>
|
||||||
|
|
||||||
<spacer height="15" width="10"/>
|
|
||||||
<icon id="logo" align="center" proportion="4" width="100%" icon="gui/icons/logo.png"/>
|
<icon id="logo" align="center" proportion="4" width="100%" icon="gui/icons/logo.png"/>
|
||||||
|
|
||||||
<spacer height="15" width="10"/>
|
|
||||||
|
|
||||||
<buttonbar id="menu_toprow" proportion="3" width="90%" align="center">
|
<buttonbar id="menu_toprow" proportion="3" width="90%" align="center">
|
||||||
<icon-button id="lan" width="128" height="128"
|
<icon-button id="lan" width="128" height="128"
|
||||||
icon="gui/icons/menu_multi.png" focus_icon="gui/icons/menu_multi_focus.png"
|
icon="gui/icons/menu_multi.png" focus_icon="gui/icons/menu_multi_focus.png"
|
||||||
I18N="Networking menu button" text="Local networking"/>
|
I18N="Networking menu button" text="Local networking" word_wrap="true"/>
|
||||||
<icon-button id="wan" width="128" height="128"
|
<icon-button id="wan" width="128" height="128"
|
||||||
icon="gui/icons/menu_multi.png" focus_icon="gui/icons/menu_multi_focus.png"
|
icon="gui/icons/menu_online.png" focus_icon="gui/icons/menu_online_focus.png"
|
||||||
I18N="Networking menu button" text="Global networking"/>
|
I18N="Networking menu button" text="Global networking" word_wrap="true"/>
|
||||||
<icon-button id="enter-address" width="128" height="128"
|
<icon-button id="enter-address" width="128" height="128"
|
||||||
icon="gui/icons/online/menu_quick_play.png" focus_icon="gui/icons/online/menu_quick_play_hover.png"
|
icon="gui/icons/online/menu_quick_play.png" focus_icon="gui/icons/online/menu_quick_play_hover.png"
|
||||||
I18N="Networking menu button" text="Enter server address"/>
|
I18N="Networking menu button" text="Enter server address" word_wrap="true"/>
|
||||||
<icon-button id="online" width="128" height="128"
|
<icon-button id="online" width="128" height="128"
|
||||||
icon="gui/icons/menu_online.png" focus_icon="gui/icons/menu_online_focus.png"
|
icon="gui/icons/menu_online.png" focus_icon="gui/icons/menu_online_focus.png"
|
||||||
I18N="Networking menu button" text="Your profile"/>
|
I18N="Networking menu button" text="Your profile" word_wrap="true"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
|
||||||
<spacer height="10%" width="10"/>
|
<spacer height="5%" width="10"/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
|
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
|
<header id="title" text_align="center" height="8%" width="80%" align="center" text="..."/>
|
||||||
<header id="title" text_align="center" width="80%" align="center" text="..."/>
|
<spacer height="1%" width="10"/>
|
||||||
|
|
||||||
<spacer height="25" width="10"/>
|
<spacer height="25" width="10"/>
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
|
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
|
<header id="title" text_align="center" height="8%" width="80%" align="center" text="..."/>
|
||||||
<header id="title" text_align="center" width="80%" align="center" text="..."/>
|
<spacer height="1%" width="10"/>
|
||||||
|
|
||||||
<spacer height="25" width="10"/>
|
<spacer height="25" width="10"/>
|
||||||
|
|
||||||
<tabs id="profile_tabs" height="10%" max_height="110" x="2%" width="98%" align="center">
|
<tabs id="profile_tabs" height="2f" x="2%" width="98%" align="center">
|
||||||
<icon-button id="tab_achievements" width="128" height="128" icon="gui/icons/gp_copy.png"
|
<icon-button id="tab_achievements" width="128" height="128" icon="gui/icons/gp_copy.png"
|
||||||
I18N="Section in the profile screen" text="Achievements"/>
|
I18N="Section in the profile screen" text="Achievements"/>
|
||||||
<icon-button id="tab_friends" width="128" height="128" icon="gui/icons/options_players.png"/>
|
<icon-button id="tab_friends" width="128" height="128" icon="gui/icons/options_players.png"/>
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
|
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
|
<header id="title" text_align="center" height="8%" width="80%" align="center" text="..."/>
|
||||||
<header id="title" text_align="center" width="80%" align="center" text="..."/>
|
<spacer height="1%" width="10"/>
|
||||||
|
|
||||||
<spacer height="25" width="10"/>
|
<spacer height="25" width="10"/>
|
||||||
|
|
||||||
<tabs id="profile_tabs" height="10%" max_height="110" x="2%" width="98%" align="center">
|
<tabs id="profile_tabs" height="2f" x="2%" width="98%" align="center">
|
||||||
<icon-button id="tab_achievements" width="128" height="128" icon="gui/icons/gp_copy.png"/>
|
<icon-button id="tab_achievements" width="128" height="128" icon="gui/icons/gp_copy.png"/>
|
||||||
<icon-button id="tab_friends" width="128" height="128" icon="gui/icons/options_players.png"
|
<icon-button id="tab_friends" width="128" height="128" icon="gui/icons/options_players.png"
|
||||||
I18N="Section in the profile screen" text="Friends"/>
|
I18N="Section in the profile screen" text="Friends"/>
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
|
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
<header id="title" text_align="center" width="80%" align="center" text="Global Networking"/>
|
<header id="title" text_align="center" height="8%" width="80%" align="center" text="Global Networking"/>
|
||||||
|
<spacer height="1%" width="10"/>
|
||||||
|
|
||||||
<spacer height="5%" width="10"/>
|
<spacer height="5%" width="10"/>
|
||||||
<icon id="logo" align="center" proportion="1" width="100%" icon="gui/icons/logo.png"/>
|
<icon id="logo" align="center" proportion="1" width="100%" icon="gui/icons/logo.png"/>
|
||||||
@@ -21,7 +22,7 @@
|
|||||||
I18N="In the online multiplayer screen" text="Quick Play"/>
|
I18N="In the online multiplayer screen" text="Quick Play"/>
|
||||||
</buttonbar>
|
</buttonbar>
|
||||||
|
|
||||||
<spacer height="10%" width="10"/>
|
<spacer height="5%" width="10"/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
|
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
<header id="title" text_align="center" width="80%" align="center" text="..."/>
|
<header id="title" text_align="center" height="8%" width="80%" align="center" text="..."/>
|
||||||
|
<spacer height="1%" width="10"/>
|
||||||
|
|
||||||
<spacer height="25" width="10"/>
|
<spacer height="25" width="10"/>
|
||||||
|
|
||||||
<tabs id="profile_tabs" height="10%" max_height="110" x="2%" width="98%" align="center">
|
<tabs id="profile_tabs" height="2f" x="2%" width="98%" align="center">
|
||||||
<icon-button id="tab_achievements" width="128" height="128" icon="gui/icons/gp_copy.png"/>
|
<icon-button id="tab_achievements" width="128" height="128" icon="gui/icons/gp_copy.png"/>
|
||||||
<icon-button id="tab_friends" width="128" height="128" icon="gui/icons/options_players.png" />
|
<icon-button id="tab_friends" width="128" height="128" icon="gui/icons/options_players.png" />
|
||||||
<icon-button id="tab_settings" width="128" height="128" icon="gui/icons/main_options.png"
|
<icon-button id="tab_settings" width="128" height="128" icon="gui/icons/main_options.png"
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||||
|
<header align="center" height="8%" width="80%" text="Create User" text_align="center"
|
||||||
<header align="center" width="80%" text="Create User" text_align="center"
|
|
||||||
I18N="In the registration dialog" />
|
I18N="In the registration dialog" />
|
||||||
<spacer height="15" width="10"/>
|
<spacer height="1%" width="10"/>
|
||||||
<tabs id="mode_tabs" height="10%" max_height="110" x="2%" width="98%" align="center">
|
|
||||||
|
<tabs id="mode_tabs" height="2f" x="2%" width="98%" align="center">
|
||||||
<icon-button id="tab_new_online" width="128" height="128" icon="gui/icons/main_network.png"
|
<icon-button id="tab_new_online" width="128" height="128" icon="gui/icons/main_network.png"
|
||||||
I18N="Section in the register screen" text="New Online Account"/>
|
I18N="Section in the register screen" text="New Online Account"/>
|
||||||
<icon-button id="tab_existing_online" width="128" height="128" icon="gui/icons/main_network.png"
|
<icon-button id="tab_existing_online" width="128" height="128" icon="gui/icons/main_network.png"
|
||||||
@@ -69,5 +69,5 @@
|
|||||||
</box>
|
</box>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/icons/back.png"/>
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
||||||
</stkgui>
|
</stkgui>
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<stkgui>
|
<stkgui>
|
||||||
<div x="0%" y="0%" width="100%" height="98%" layout="vertical-row" >
|
<div x="1%" y="0" width="98%" layout="horizontal-row" height="9%">
|
||||||
|
<icon-button id="back" height="100%" icon_align="left" icon="gui/icons/back.png"/>
|
||||||
<div x="0" y="0" width="100%" layout="horizontal-row" height="8%">
|
<spacer proportion="1" height="1"/>
|
||||||
<icon-button id="back" height="100%" icon="gui/icons/back.png"/>
|
<icon-button id="reload" y="5%" height="90%" icon_align="right" icon="gui/icons/restart.png"/>
|
||||||
<header text_align="center" proportion="1" text="Server Selection" align="center"/>
|
|
||||||
<icon-button id="reload" height="90%" icon="gui/icons/restart.png"/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div x="0%" y="1%" width="100%" height="98%" layout="vertical-row" >
|
||||||
|
<header width="80%" height="8%" align="center" text_align="center" text="Server Selection"/>
|
||||||
|
<spacer width="100%" height="1%"/>
|
||||||
|
|
||||||
<box proportion="1" width="98%" align="center" layout="vertical-row" padding="6">
|
<box proportion="1" width="98%" align="center" layout="vertical-row" padding="6">
|
||||||
<list id="server_list" x="0" y="0" width="100%" height="93%" word_wrap="true"
|
<list id="server_list" x="0" y="0" width="100%" height="93%" word_wrap="true"
|
||||||
alternate_bg="true" line_height="small"/>
|
alternate_bg="true" line_height="small"/>
|
||||||
@@ -19,10 +21,10 @@
|
|||||||
<spacer width="10"/>
|
<spacer width="10"/>
|
||||||
<label proportion="1" height="100%" text_align="left"
|
<label proportion="1" height="100%" text_align="left"
|
||||||
I18N="In the server selection screen" text="Show private server(s)"/>
|
I18N="In the server selection screen" text="Show private server(s)"/>
|
||||||
<checkbox width="fit" id="game_started" text_align="left"/>
|
<checkbox width="fit" id="ipv6" text_align="left"/>
|
||||||
<spacer width="10"/>
|
<spacer width="10"/>
|
||||||
<label proportion="1" height="100%" text_align="left"
|
<label proportion="1" height="100%" text_align="left" id="ipv6_text"
|
||||||
I18N="In the server selection screen" text="Hide servers with an ongoing game"/>
|
I18N="In the server selection screen" text="Use IPv6 connection if server supports"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||