diff --git a/android/Images.Construction/UnitFlagIcons/UnitFlag.png b/android/Images.Construction/UnitFlagIcons/UnitFlag.png index 052641f098..a146dfe853 100644 Binary files a/android/Images.Construction/UnitFlagIcons/UnitFlag.png and b/android/Images.Construction/UnitFlagIcons/UnitFlag.png differ diff --git a/android/Images.Construction/UnitFlagIcons/UnitFlagCivilianInner.png b/android/Images.Construction/UnitFlagIcons/UnitFlagCivilianInner.png new file mode 100644 index 0000000000..fbd2d239bd Binary files /dev/null and b/android/Images.Construction/UnitFlagIcons/UnitFlagCivilianInner.png differ diff --git a/android/Images.Construction/UnitFlagIcons/UnitFlagSelection.png b/android/Images.Construction/UnitFlagIcons/UnitFlagSelection.png index c44cc0ca61..913075eeb2 100644 Binary files a/android/Images.Construction/UnitFlagIcons/UnitFlagSelection.png and b/android/Images.Construction/UnitFlagIcons/UnitFlagSelection.png differ diff --git a/android/Images.Construction/UnitFlagIcons/UnitFlagSelectionEmbark.png b/android/Images.Construction/UnitFlagIcons/UnitFlagSelectionEmbark.png index 9c17564638..aabc0775e4 100644 Binary files a/android/Images.Construction/UnitFlagIcons/UnitFlagSelectionEmbark.png and b/android/Images.Construction/UnitFlagIcons/UnitFlagSelectionEmbark.png differ diff --git a/android/Images/OtherIcons/HexagonOutline.png b/android/Images/OtherIcons/HexagonOutline.png new file mode 100644 index 0000000000..93f56e11fc Binary files /dev/null and b/android/Images/OtherIcons/HexagonOutline.png differ diff --git a/android/assets/Construction.atlas b/android/assets/Construction.atlas index 831783f2a2..ae8419fb7e 100644 --- a/android/assets/Construction.atlas +++ b/android/assets/Construction.atlas @@ -6,2240 +6,2247 @@ filter: MipMapLinearLinear, MipMapLinearLinear repeat: none BuildingIcons/Alhambra rotate: false - xy: 4, 386 + xy: 4, 112 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Amphitheater rotate: false - xy: 800, 1913 + xy: 1042, 1942 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Angkor Wat rotate: false - xy: 4, 278 + xy: 4, 4 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Apollo Program rotate: false - xy: 1016, 1913 + xy: 1366, 1942 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Aqueduct rotate: false - xy: 4, 62 + xy: 1474, 1942 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Armory rotate: false - xy: 1232, 1913 + xy: 1690, 1942 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Arsenal rotate: false - xy: 1340, 1913 + xy: 1798, 1942 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Bank rotate: false - xy: 692, 1805 + xy: 826, 1834 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Barracks rotate: false - xy: 800, 1805 + xy: 934, 1834 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Bazaar rotate: false - xy: 1124, 1805 + xy: 1258, 1834 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Big Ben rotate: false - xy: 1340, 1805 + xy: 1474, 1834 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Bomb Shelter rotate: false - xy: 1448, 1805 + xy: 1582, 1834 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Brandenburg Gate rotate: false - xy: 1772, 1805 + xy: 1906, 1834 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Broadcast Tower rotate: false - xy: 1880, 1805 + xy: 808, 1726 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Burial Tomb rotate: false - xy: 112, 386 + xy: 1024, 1726 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/CN Tower rotate: false - xy: 112, 278 + xy: 1132, 1726 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Castle rotate: false - xy: 190, 1381 + xy: 1780, 1726 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Cathedral rotate: false - xy: 190, 1057 + xy: 112, 112 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Ceilidh Hall rotate: false - xy: 190, 841 + xy: 212, 1648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Chichen Itza rotate: false - xy: 298, 1619 + xy: 428, 1648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Circus rotate: false - xy: 298, 1511 + xy: 644, 1648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Circus Maximus rotate: false - xy: 406, 1619 + xy: 212, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Coffee House rotate: false - xy: 298, 1403 + xy: 320, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Colosseum rotate: false - xy: 406, 1511 + xy: 428, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Colossus rotate: false - xy: 298, 1295 + xy: 536, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Courthouse rotate: false - xy: 406, 863 + xy: 406, 1324 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Cristo Redentor rotate: false - xy: 190, 733 + xy: 514, 1432 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Eiffel Tower rotate: false - xy: 514, 1589 + xy: 622, 1432 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Factory rotate: false - xy: 622, 1589 + xy: 406, 1108 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Fallback rotate: false - xy: 730, 1697 + xy: 514, 1216 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Floating Gardens rotate: false - xy: 622, 1481 + xy: 190, 784 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Forbidden Palace rotate: false - xy: 730, 1589 + xy: 298, 892 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Forge rotate: false - xy: 514, 1265 + xy: 514, 1108 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Garden rotate: false - xy: 622, 1265 + xy: 622, 1108 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Granary rotate: false - xy: 946, 1589 + xy: 406, 784 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Grand Temple rotate: false - xy: 1054, 1697 + xy: 514, 892 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Great Mosque of Djenne rotate: false - xy: 946, 1481 + xy: 622, 892 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Great Wall rotate: false - xy: 514, 941 + xy: 622, 784 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hagia Sophia rotate: false - xy: 946, 1373 + xy: 190, 460 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hanging Gardens rotate: false - xy: 1162, 1589 + xy: 406, 466 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hanse rotate: false - xy: 1270, 1697 + xy: 514, 460 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Harbor rotate: false - xy: 514, 833 + xy: 622, 460 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hermitage rotate: false - xy: 730, 1055 + xy: 277, 352 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Heroic Epic rotate: false - xy: 838, 1157 + xy: 220, 244 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Himeji Castle rotate: false - xy: 946, 1265 + xy: 220, 136 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hospital rotate: false - xy: 1378, 1697 + xy: 328, 28 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hubble Space Telescope rotate: false - xy: 622, 833 + xy: 385, 352 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hydro Plant rotate: false - xy: 1054, 1265 + xy: 436, 136 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Ironworks rotate: false - xy: 1486, 1697 + xy: 544, 28 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Kremlin rotate: false - xy: 1378, 1481 + xy: 760, 28 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Krepost rotate: false - xy: 1486, 1589 + xy: 752, 1618 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Leaning Tower of Pisa rotate: false - xy: 1162, 1157 + xy: 1184, 1618 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Library rotate: false - xy: 1378, 1373 + xy: 1400, 1618 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Lighthouse rotate: false - xy: 1486, 1481 + xy: 1508, 1618 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Longhouse rotate: false - xy: 1702, 1697 + xy: 1724, 1618 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Machu Picchu rotate: false - xy: 1270, 1157 + xy: 860, 1510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Manhattan Project rotate: false - xy: 1486, 1373 + xy: 1076, 1510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Market rotate: false - xy: 1162, 941 + xy: 1508, 1510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Mausoleum of Halicarnassus rotate: false - xy: 1270, 1049 + xy: 1616, 1510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Medical Lab rotate: false - xy: 1486, 1265 + xy: 1832, 1510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Military Academy rotate: false - xy: 1702, 1481 + xy: 730, 1294 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Military Base rotate: false - xy: 1810, 1589 + xy: 838, 1402 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Mint rotate: false - xy: 1270, 941 + xy: 730, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Monastery rotate: false - xy: 1486, 1049 + xy: 730, 970 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Monument rotate: false - xy: 1594, 1157 + xy: 1162, 1402 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Mosque rotate: false - xy: 1702, 1265 + xy: 1054, 1294 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Mud Pyramid Mosque rotate: false - xy: 1810, 1373 + xy: 946, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Mughal Fort rotate: false - xy: 1486, 941 + xy: 838, 1078 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Museum rotate: false - xy: 1594, 1049 + xy: 730, 862 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/National College rotate: false - xy: 1702, 1049 + xy: 946, 1078 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/National Epic rotate: false - xy: 1810, 1158 + xy: 838, 970 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/National Treasury rotate: false - xy: 1702, 941 + xy: 730, 754 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Neuschwanstein rotate: false - xy: 1810, 1050 + xy: 1378, 1402 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Notre Dame rotate: false - xy: 838, 833 + xy: 1270, 1294 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Nuclear Plant rotate: false - xy: 1054, 833 + xy: 946, 970 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Observatory rotate: false - xy: 1270, 833 + xy: 730, 646 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Opera House rotate: false - xy: 1378, 833 + xy: 1486, 1402 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Oxford University rotate: false - xy: 1486, 833 + xy: 1162, 1079 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Pagoda rotate: false - xy: 1594, 833 + xy: 1270, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Palace rotate: false - xy: 1702, 833 + xy: 1378, 1294 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Paper Maker rotate: false - xy: 514, 725 + xy: 946, 862 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Pentagon rotate: false - xy: 838, 725 + xy: 1594, 1402 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Petra rotate: false - xy: 1054, 725 + xy: 1270, 1078 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Porcelain Tower rotate: false - xy: 1486, 725 + xy: 946, 754 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Public School rotate: false - xy: 1918, 1697 + xy: 1270, 970 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Pyramid rotate: false - xy: 1918, 1589 + xy: 1378, 1078 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Recycling Center rotate: false - xy: 1918, 1373 + xy: 1594, 1294 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Research Lab rotate: false - xy: 1918, 1157 + xy: 946, 646 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Satrap's Court rotate: false - xy: 220, 193 + xy: 1702, 1294 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Seaport rotate: false - xy: 385, 647 + xy: 1162, 653 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Shrine rotate: false - xy: 328, 193 + xy: 1594, 1078 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Sistine Chapel rotate: false - xy: 493, 617 + xy: 1810, 1294 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Solar Plant rotate: false - xy: 544, 509 + xy: 1378, 754 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Spaceship Factory rotate: false - xy: 436, 293 + xy: 1486, 862 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stable rotate: false - xy: 436, 185 + xy: 1702, 1078 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stadium rotate: false - xy: 544, 293 + xy: 1810, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Statue of Liberty rotate: false - xy: 544, 83 + xy: 1594, 862 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Statue of Zeus rotate: false - xy: 652, 509 + xy: 1702, 970 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stele rotate: false - xy: 652, 293 + xy: 1594, 754 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stock Exchange rotate: false - xy: 652, 185 + xy: 1702, 862 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stone Works rotate: false - xy: 652, 77 + xy: 1810, 970 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stonehenge rotate: false - xy: 709, 617 + xy: 1702, 754 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Sydney Opera House rotate: false - xy: 868, 509 + xy: 1702, 646 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Taj Mahal rotate: false - xy: 1033, 617 + xy: 1810, 646 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Temple rotate: false - xy: 868, 401 + xy: 1378, 544 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Temple of Artemis rotate: false - xy: 976, 509 + xy: 1486, 538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Terracotta Army rotate: false - xy: 760, 185 + xy: 1702, 538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Great Library rotate: false - xy: 868, 293 + xy: 1810, 538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Great Lighthouse rotate: false - xy: 976, 401 + xy: 1940, 1618 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Louvre rotate: false - xy: 1084, 509 + xy: 1940, 1510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Oracle rotate: false - xy: 1249, 617 + xy: 1918, 1402 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Pyramids rotate: false - xy: 760, 77 + xy: 1918, 1294 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Theatre rotate: false - xy: 868, 185 + xy: 1918, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/United Nations rotate: false - xy: 868, 77 + xy: 1918, 645 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/University rotate: false - xy: 976, 185 + xy: 1918, 537 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Utopia Project rotate: false - xy: 1084, 293 + xy: 817, 430 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Walls rotate: false - xy: 1084, 185 + xy: 976, 322 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Walls of Babylon rotate: false - xy: 1192, 292 + xy: 868, 106 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Wat rotate: false - xy: 1084, 77 + xy: 1084, 214 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Water Mill rotate: false - xy: 1192, 184 + xy: 1084, 106 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Windmill rotate: false - xy: 1300, 293 + xy: 1141, 430 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Workshop rotate: false - xy: 1681, 617 + xy: 1192, 214 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 MayaCalendar/0 rotate: false - xy: 1408, 227 + xy: 1300, 140 size: 25, 50 orig: 25, 50 offset: 0, 0 index: -1 MayaCalendar/1 rotate: false - xy: 1789, 667 + xy: 2026, 1452 size: 13, 50 orig: 13, 50 offset: 0, 0 index: -1 MayaCalendar/10 rotate: false - xy: 1758, 559 + xy: 788, 480 size: 21, 50 orig: 21, 50 offset: 0, 0 index: -1 MayaCalendar/11 rotate: false - xy: 1466, 343 + xy: 1206, 48 size: 35, 50 orig: 35, 50 offset: 0, 0 index: -1 MayaCalendar/12 rotate: false - xy: 1574, 451 + xy: 1300, 256 size: 35, 50 orig: 35, 50 offset: 0, 0 index: -1 MayaCalendar/13 rotate: false - xy: 1682, 559 + xy: 1249, 48 size: 35, 50 orig: 35, 50 offset: 0, 0 index: -1 MayaCalendar/14 rotate: false - xy: 110, 4 + xy: 1300, 198 size: 35, 50 orig: 35, 50 offset: 0, 0 index: -1 MayaCalendar/15 rotate: false - xy: 1988, 1847 + xy: 2014, 1992 size: 30, 50 orig: 30, 50 offset: 0, 0 index: -1 MayaCalendar/16 rotate: false - xy: 62, 4 + xy: 817, 372 size: 40, 50 orig: 40, 50 offset: 0, 0 index: -1 MayaCalendar/17 rotate: false - xy: 1988, 1905 + xy: 1300, 372 size: 40, 50 orig: 40, 50 offset: 0, 0 index: -1 MayaCalendar/18 rotate: false - xy: 1250, 126 + xy: 1158, 48 size: 40, 50 orig: 40, 50 offset: 0, 0 index: -1 MayaCalendar/19 rotate: false - xy: 1408, 285 + xy: 1300, 314 size: 40, 50 orig: 40, 50 offset: 0, 0 index: -1 MayaCalendar/2 rotate: false - xy: 1810, 674 + xy: 1423, 486 size: 13, 50 orig: 13, 50 offset: 0, 0 index: -1 MayaCalendar/3 rotate: false - xy: 186, 4 + xy: 2026, 1394 size: 13, 50 orig: 13, 50 offset: 0, 0 index: -1 MayaCalendar/4 rotate: false - xy: 1831, 674 + xy: 1444, 486 size: 13, 50 orig: 13, 50 offset: 0, 0 index: -1 MayaCalendar/5 rotate: false - xy: 1489, 285 + xy: 1996, 1776 size: 10, 50 orig: 10, 50 offset: 0, 0 index: -1 MayaCalendar/6 rotate: false - xy: 1456, 285 + xy: 2014, 1934 size: 25, 50 orig: 25, 50 offset: 0, 0 index: -1 MayaCalendar/7 rotate: false - xy: 1725, 559 + xy: 2014, 1876 size: 25, 50 orig: 25, 50 offset: 0, 0 index: -1 MayaCalendar/8 rotate: false - xy: 153, 4 + xy: 1357, 480 size: 25, 50 orig: 25, 50 offset: 0, 0 index: -1 MayaCalendar/9 rotate: false - xy: 1441, 227 + xy: 1390, 486 size: 25, 50 orig: 25, 50 offset: 0, 0 index: -1 MayaCalendar/Baktun rotate: false - xy: 4, 4 + xy: 730, 480 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 MayaCalendar/Katun rotate: false - xy: 1192, 126 + xy: 926, 48 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 MayaCalendar/Maya rotate: false - xy: 1408, 343 + xy: 984, 48 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 MayaCalendar/Tun rotate: false - xy: 1624, 559 + xy: 1100, 48 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/ConvertGold rotate: false - xy: 298, 971 + xy: 298, 1324 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/ConvertNothing rotate: false - xy: 406, 1079 + xy: 406, 1432 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/ConvertScience rotate: false - xy: 298, 863 + xy: 190, 1108 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/WLTK 1 rotate: false - xy: 1192, 400 + xy: 925, 430 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/WLTK 2 rotate: false - xy: 1300, 509 + xy: 1033, 430 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/WLTK LR rotate: false - xy: 1465, 617 + xy: 868, 322 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/AddInCapital rotate: false - xy: 584, 1913 + xy: 826, 1942 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/AirSweep rotate: false - xy: 692, 1913 + xy: 934, 1942 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/Automate rotate: false - xy: 1772, 1913 + xy: 484, 1756 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/HurryConstruction rotate: false - xy: 1772, 1913 + xy: 484, 1756 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/ConductTradeMission rotate: false - xy: 406, 1295 + xy: 190, 1324 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/ConstructImprovement rotate: false - xy: 406, 1187 + xy: 190, 1216 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/Repair rotate: false - xy: 406, 1187 + xy: 190, 1216 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/DisbandUnit rotate: false - xy: 169, 625 + xy: 406, 1216 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/EnhanceReligion rotate: false - xy: 622, 1697 + xy: 190, 892 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/FoundReligion rotate: false - xy: 622, 1697 + xy: 190, 892 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/Explore rotate: false - xy: 514, 1481 + xy: 298, 1000 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/Fortify rotate: false - xy: 622, 1373 + xy: 622, 1216 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/FortifyUntilHealed rotate: false - xy: 622, 1373 + xy: 622, 1216 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/FoundCity rotate: false - xy: 730, 1481 + xy: 190, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/HideMore rotate: false - xy: 1988, 1963 + xy: 868, 48 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitActionIcons/HurryResearch rotate: false - xy: 730, 947 + xy: 493, 352 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/MoveTo rotate: false - xy: 1516, 451 + xy: 1042, 48 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitActionIcons/ShowMore rotate: false - xy: 1516, 451 + xy: 1042, 48 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitActionIcons/Paradrop rotate: false - xy: 622, 725 + xy: 838, 754 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/Pillage rotate: false - xy: 1378, 725 + xy: 1054, 862 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/Present rotate: false - xy: 1594, 725 + xy: 838, 646 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/Promote rotate: false - xy: 1810, 732 + xy: 1162, 869 size: 100, 94 orig: 100, 94 offset: 0, 0 index: -1 UnitActionIcons/Upgrade rotate: false - xy: 1810, 732 + xy: 1162, 869 size: 100, 94 orig: 100, 94 offset: 0, 0 index: -1 UnitActionIcons/RemoveHeresy rotate: false - xy: 1918, 1265 + xy: 1054, 754 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/SetUp rotate: false - xy: 328, 517 + xy: 1270, 754 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/Sleep rotate: false - xy: 436, 509 + xy: 1162, 545 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/Star rotate: false - xy: 544, 191 + xy: 1378, 652 size: 100, 94 orig: 100, 94 offset: 0, 0 index: -1 UnitActionIcons/StartGoldenAge rotate: false - xy: 436, 77 + xy: 1486, 754 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/Stop rotate: false - xy: 817, 617 + xy: 1810, 862 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/StopMove rotate: false - xy: 817, 617 + xy: 1810, 862 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/Swap rotate: false - xy: 925, 617 + xy: 1486, 646 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitActionIcons/Transform rotate: false - xy: 4, 1813 + xy: 4, 1578 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 UnitActionIcons/Wait rotate: false - xy: 976, 77 + xy: 868, 214 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 +UnitFlagIcons/UnitFlag + rotate: false + xy: 4, 1786 + size: 256, 256 + orig: 256, 256 + offset: 0, 0 + index: -1 UnitFlagIcons/UnitFlagCivilian rotate: false - xy: 4, 1402 + xy: 4, 1353 + size: 178, 217 + orig: 178, 217 + offset: 0, 0 + index: -1 +UnitFlagIcons/UnitFlagCivilianInner + rotate: false + xy: 4, 1128 size: 178, 217 orig: 178, 217 offset: 0, 0 index: -1 UnitFlagIcons/UnitFlagEmbark rotate: false - xy: 4, 1184 + xy: 4, 910 size: 178, 210 orig: 178, 210 offset: 0, 0 index: -1 UnitFlagIcons/UnitFlagFortify rotate: false - xy: 212, 1835 + xy: 454, 1864 size: 178, 178 orig: 178, 178 offset: 0, 0 index: -1 UnitFlagIcons/UnitFlagSelection rotate: false - xy: 4, 998 + xy: 4, 724 size: 178, 178 orig: 178, 178 offset: 0, 0 index: -1 UnitFlagIcons/UnitFlagSelectionCivilian rotate: false - xy: 4, 602 + xy: 4, 328 size: 157, 170 orig: 157, 170 offset: 0, 0 index: -1 UnitFlagIcons/UnitFlagSelectionEmbark rotate: false - xy: 4, 780 + xy: 4, 506 size: 178, 210 orig: 178, 210 offset: 0, 0 index: -1 UnitFlagIcons/UnitFlagSelectionFortify rotate: false - xy: 398, 1835 + xy: 640, 1864 size: 178, 178 orig: 178, 178 offset: 0, 0 index: -1 UnitIcons/African Forest Elephant rotate: false - xy: 4, 494 + xy: 4, 220 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Anti-Aircraft Gun rotate: false - xy: 908, 1913 + xy: 1150, 1942 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Anti-Tank Gun rotate: false - xy: 4, 170 + xy: 1258, 1942 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Archer rotate: false - xy: 1124, 1913 + xy: 1582, 1942 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Artillery rotate: false - xy: 1448, 1913 + xy: 1906, 1942 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Atlatlist rotate: false - xy: 1556, 1913 + xy: 268, 1756 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Atomic Bomb rotate: false - xy: 1664, 1913 + xy: 376, 1756 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/B17 rotate: false - xy: 1880, 1913 + xy: 592, 1756 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Ballista rotate: false - xy: 584, 1805 + xy: 700, 1756 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Battering Ram rotate: false - xy: 908, 1805 + xy: 1042, 1834 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Battleship rotate: false - xy: 1016, 1805 + xy: 1150, 1834 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Berserker rotate: false - xy: 1232, 1805 + xy: 1366, 1834 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Bomber rotate: false - xy: 1556, 1805 + xy: 1690, 1834 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Bowman rotate: false - xy: 1664, 1805 + xy: 1798, 1834 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Brute rotate: false - xy: 112, 494 + xy: 916, 1726 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Camel Archer rotate: false - xy: 112, 170 + xy: 1240, 1726 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Cannon rotate: false - xy: 112, 62 + xy: 1348, 1726 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Caravel rotate: false - xy: 190, 1705 + xy: 1456, 1726 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Carolean rotate: false - xy: 190, 1597 + xy: 1564, 1726 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Carrier rotate: false - xy: 190, 1489 + xy: 1672, 1726 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Cataphract rotate: false - xy: 190, 1273 + xy: 1888, 1726 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Catapult rotate: false - xy: 190, 1165 + xy: 112, 220 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Cavalry rotate: false - xy: 190, 949 + xy: 112, 4 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Chariot Archer rotate: false - xy: 298, 1727 + xy: 320, 1648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Chu-Ko-Nu rotate: false - xy: 406, 1727 + xy: 536, 1648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Circle rotate: false - xy: 4, 1627 - size: 178, 178 - orig: 178, 178 - offset: 0, 0 - index: -1 -UnitFlagIcons/UnitFlag - rotate: false - xy: 4, 1627 + xy: 268, 1864 size: 178, 178 orig: 178, 178 offset: 0, 0 index: -1 UnitIcons/Companion Cavalry rotate: false - xy: 406, 1403 + xy: 644, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Composite Bowman rotate: false - xy: 298, 1187 + xy: 190, 1432 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Conquistador rotate: false - xy: 298, 1079 + xy: 298, 1432 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Cossack rotate: false - xy: 406, 971 + xy: 298, 1216 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Crossbowman rotate: false - xy: 298, 755 + xy: 190, 1000 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Destroyer rotate: false - xy: 406, 755 + xy: 298, 1108 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Dromon rotate: false - xy: 514, 1697 + xy: 514, 1324 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Fighter rotate: false - xy: 514, 1373 + xy: 622, 1324 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Foreign Legion rotate: false - xy: 838, 1697 + xy: 406, 1000 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Frigate rotate: false - xy: 838, 1589 + xy: 298, 784 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Galleass rotate: false - xy: 946, 1697 + xy: 406, 892 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Galley rotate: false - xy: 514, 1157 + xy: 514, 1000 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Gatling Gun rotate: false - xy: 730, 1373 + xy: 190, 568 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Giant Death Robot rotate: false - xy: 838, 1481 + xy: 298, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Artist rotate: false - xy: 514, 1049 + xy: 622, 1000 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Engineer rotate: false - xy: 622, 1157 + xy: 298, 568 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great General rotate: false - xy: 730, 1271 + xy: 406, 682 size: 100, 94 orig: 100, 94 offset: 0, 0 index: -1 UnitIcons/Great Merchant rotate: false - xy: 838, 1373 + xy: 514, 784 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Prophet rotate: false - xy: 1054, 1589 + xy: 406, 574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Scientist rotate: false - xy: 1162, 1697 + xy: 514, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great War Bomber rotate: false - xy: 622, 1049 + xy: 622, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great War Infantry rotate: false - xy: 730, 1163 + xy: 514, 568 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Guided Missile rotate: false - xy: 838, 1265 + xy: 622, 568 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Hakkapeliitta rotate: false - xy: 1054, 1481 + xy: 298, 460 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Helicopter Gunship rotate: false - xy: 622, 941 + xy: 169, 352 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Hoplite rotate: false - xy: 1054, 1373 + xy: 220, 28 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Horse Archer rotate: false - xy: 1162, 1481 + xy: 328, 244 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Horseman rotate: false - xy: 1270, 1589 + xy: 328, 136 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Hussar rotate: false - xy: 838, 1049 + xy: 436, 244 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Hwach'a rotate: false - xy: 946, 1157 + xy: 601, 352 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Infantry rotate: false - xy: 1162, 1373 + xy: 544, 244 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Inquisitor rotate: false - xy: 1270, 1481 + xy: 436, 28 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Ironclad rotate: false - xy: 1378, 1589 + xy: 544, 136 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Jaguar rotate: false - xy: 730, 839 + xy: 652, 244 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Janissary rotate: false - xy: 838, 941 + xy: 652, 136 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Jet Fighter rotate: false - xy: 946, 1049 + xy: 652, 28 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Keshik rotate: false - xy: 1054, 1157 + xy: 709, 352 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Khan rotate: false - xy: 1162, 1265 + xy: 760, 244 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Knight rotate: false - xy: 1270, 1373 + xy: 760, 136 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Lancer rotate: false - xy: 1594, 1697 + xy: 860, 1618 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Landship rotate: false - xy: 946, 941 + xy: 968, 1618 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Landsknecht rotate: false - xy: 1054, 1049 + xy: 1076, 1618 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Legion rotate: false - xy: 1270, 1265 + xy: 1292, 1618 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Longbowman rotate: false - xy: 1594, 1589 + xy: 1616, 1618 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Longswordsman rotate: false - xy: 1054, 941 + xy: 1832, 1618 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Machine Gun rotate: false - xy: 1162, 1049 + xy: 752, 1510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Mandekalu Cavalry rotate: false - xy: 1378, 1265 + xy: 968, 1510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Maori Warrior rotate: false - xy: 1594, 1481 + xy: 1184, 1510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Marauder rotate: false - xy: 1702, 1589 + xy: 1292, 1510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Marine rotate: false - xy: 1810, 1697 + xy: 1400, 1510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Mechanized Infantry rotate: false - xy: 1378, 1157 + xy: 1724, 1510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Mehal Sefari rotate: false - xy: 1594, 1373 + xy: 730, 1402 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Minuteman rotate: false - xy: 1378, 1049 + xy: 946, 1402 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Missile Cruiser rotate: false - xy: 1486, 1157 + xy: 838, 1294 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Missionary rotate: false - xy: 1594, 1265 + xy: 730, 1078 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Mobile SAM rotate: false - xy: 1702, 1373 + xy: 1054, 1402 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Modern Armor rotate: false - xy: 1810, 1481 + xy: 946, 1294 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Mohawk Warrior rotate: false - xy: 1378, 941 + xy: 838, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Musketeer rotate: false - xy: 1702, 1157 + xy: 1270, 1402 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Musketman rotate: false - xy: 1810, 1266 + xy: 1162, 1295 size: 100, 99 orig: 100, 99 offset: 0, 0 index: -1 UnitIcons/Naresuan's Elephant rotate: false - xy: 1594, 941 + xy: 1054, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Norwegian Ski Infantry rotate: false - xy: 1810, 942 + xy: 1162, 1187 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Nuclear Missile rotate: false - xy: 946, 833 + xy: 1054, 1078 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Nuclear Submarine rotate: false - xy: 1162, 833 + xy: 838, 862 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Panzer rotate: false - xy: 1810, 834 + xy: 1054, 970 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Paratrooper rotate: false - xy: 730, 731 + xy: 730, 538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Persian Immortal rotate: false - xy: 946, 725 + xy: 1162, 971 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Pictish Warrior rotate: false - xy: 1162, 725 + xy: 1378, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Pikeman rotate: false - xy: 1270, 725 + xy: 1486, 1294 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Privateer rotate: false - xy: 1702, 725 + xy: 1702, 1402 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Quinquereme rotate: false - xy: 1918, 1481 + xy: 1486, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Rifleman rotate: false - xy: 1918, 1049 + xy: 838, 538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Rocket Artillery rotate: false - xy: 1918, 941 + xy: 1810, 1402 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/SS Booster rotate: false - xy: 1918, 833 + xy: 1162, 761 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/SS Cockpit rotate: false - xy: 1918, 725 + xy: 1270, 862 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/SS Engine rotate: false - xy: 220, 517 + xy: 1378, 970 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/SS Stasis Chamber rotate: false - xy: 220, 409 + xy: 1486, 1078 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Samurai rotate: false - xy: 220, 301 + xy: 1594, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Scout rotate: false - xy: 220, 85 + xy: 1054, 646 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Sea Beggar rotate: false - xy: 277, 625 + xy: 946, 538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Settler rotate: false - xy: 328, 409 + xy: 1378, 862 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Ship of the Line rotate: false - xy: 328, 301 + xy: 1486, 970 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Sipahi rotate: false - xy: 328, 85 + xy: 1702, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Skirmisher rotate: false - xy: 601, 617 + xy: 1054, 538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Slinger rotate: false - xy: 436, 401 + xy: 1270, 646 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Spearman rotate: false - xy: 544, 401 + xy: 1594, 970 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Stealth Bomber rotate: false - xy: 652, 401 + xy: 1810, 1078 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Submarine rotate: false - xy: 760, 509 + xy: 1810, 754 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Swordsman rotate: false - xy: 760, 401 + xy: 1594, 646 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Tank rotate: false - xy: 760, 293 + xy: 1270, 538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Tercio rotate: false - xy: 1141, 617 + xy: 1594, 538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Trebuchet rotate: false - xy: 976, 293 + xy: 1918, 1078 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Triplane rotate: false - xy: 1084, 401 + xy: 1918, 970 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Trireme rotate: false - xy: 1192, 508 + xy: 1918, 861 size: 100, 101 orig: 100, 101 offset: 0, 0 index: -1 UnitIcons/Turtle Ship rotate: false - xy: 1357, 617 + xy: 1918, 753 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/War Chariot rotate: false - xy: 1300, 401 + xy: 976, 214 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/War Elephant rotate: false - xy: 1408, 509 + xy: 976, 106 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Warrior rotate: false - xy: 1573, 617 + xy: 1084, 322 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Work Boats rotate: false - xy: 1408, 401 + xy: 1249, 430 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Worker rotate: false - xy: 1516, 509 + xy: 1192, 322 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Zero rotate: false - xy: 1300, 185 + xy: 1192, 106 size: 100, 100 orig: 100, 100 offset: 0, 0 diff --git a/android/assets/Construction.png b/android/assets/Construction.png index d709e5a47a..711f5acc4a 100644 Binary files a/android/assets/Construction.png and b/android/assets/Construction.png differ diff --git a/android/assets/game.atlas b/android/assets/game.atlas index 496293c017..c6f7c5ed30 100644 --- a/android/assets/game.atlas +++ b/android/assets/game.atlas @@ -1,1342 +1,1349 @@ game.png -size: 2048, 1024 +size: 2048, 2048 format: RGBA8888 filter: MipMapLinearLinear, MipMapLinearLinear repeat: none CityStateIcons/Cultured rotate: false - xy: 622, 689 + xy: 298, 1466 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 CityStateIcons/Maritime rotate: false - xy: 1486, 596 + xy: 220, 1093 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 CityStateIcons/Mercantile rotate: false - xy: 1702, 596 + xy: 220, 877 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 CityStateIcons/Militaristic rotate: false - xy: 1810, 596 + xy: 220, 769 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 CityStateIcons/Religious rotate: false - xy: 1870, 380 + xy: 436, 494 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 EmojiIcons/Culture rotate: false - xy: 1978, 422 + xy: 386, 4 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 EmojiIcons/Faith rotate: false - xy: 1978, 364 + xy: 444, 4 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 EmojiIcons/Food rotate: false - xy: 1978, 306 + xy: 502, 4 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 EmojiIcons/Gold rotate: false - xy: 1855, 33 + xy: 560, 5 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 EmojiIcons/Great Artist rotate: false - xy: 1978, 248 + xy: 1771, 1782 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 EmojiIcons/Great Engineer rotate: false - xy: 1963, 190 + xy: 751, 1746 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 EmojiIcons/Great General rotate: false - xy: 1913, 33 + xy: 751, 1688 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 EmojiIcons/Great Merchant rotate: false - xy: 1987, 862 + xy: 809, 1747 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 EmojiIcons/Great Scientist rotate: false - xy: 1963, 132 + xy: 867, 1747 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 EmojiIcons/Happiness rotate: false - xy: 1971, 74 + xy: 809, 1689 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 EmojiIcons/Production rotate: false - xy: 112, 66 + xy: 983, 1689 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 EmojiIcons/Science rotate: false - xy: 170, 66 + xy: 1157, 1747 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 EmojiIcons/Turn rotate: false - xy: 228, 66 + xy: 1157, 1689 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 ImprovementIcons/Academy rotate: false - xy: 721, 920 + xy: 4, 1108 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Ancient ruins rotate: false - xy: 937, 920 + xy: 4, 892 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Barbarian encampment rotate: false - xy: 1261, 920 + xy: 1037, 1913 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Camp rotate: false - xy: 1477, 920 + xy: 1145, 1913 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Cancel improvement order rotate: false - xy: 1585, 920 + xy: 4, 568 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Stop rotate: false - xy: 1585, 920 + xy: 4, 568 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Citadel rotate: false - xy: 1909, 920 + xy: 1361, 1913 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/City center rotate: false - xy: 475, 797 + xy: 4, 244 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/City ruins rotate: false - xy: 583, 797 + xy: 1577, 1913 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Customs house rotate: false - xy: 691, 797 + xy: 298, 1358 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Farm rotate: false - xy: 1663, 812 + xy: 514, 1466 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Fishing Boats rotate: false - xy: 1879, 812 + xy: 514, 1250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Fort rotate: false - xy: 838, 704 + xy: 643, 1682 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Holy site rotate: false - xy: 1486, 704 + xy: 112, 1093 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Landmark rotate: false - xy: 514, 581 + xy: 112, 445 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Lumber mill rotate: false - xy: 946, 596 + xy: 112, 13 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Manufactory rotate: false - xy: 1162, 596 + xy: 730, 1466 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Mine rotate: false - xy: 1918, 596 + xy: 220, 661 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Moai rotate: false - xy: 358, 473 + xy: 220, 553 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Offshore Platform rotate: false - xy: 1114, 488 + xy: 328, 1034 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Oil well rotate: false - xy: 1330, 488 + xy: 328, 926 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Pasture rotate: false - xy: 1546, 488 + xy: 544, 1142 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Plantation rotate: false - xy: 682, 365 + xy: 544, 926 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Polder rotate: false - xy: 790, 365 + xy: 652, 1034 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Quarry rotate: false - xy: 1330, 380 + xy: 328, 494 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Railroad rotate: false - xy: 1762, 380 + xy: 328, 386 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Remove Fallout rotate: false - xy: 235, 240 + xy: 652, 710 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Remove Forest rotate: false - xy: 343, 257 + xy: 328, 278 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Remove Jungle rotate: false - xy: 343, 257 + xy: 328, 278 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Remove Marsh rotate: false - xy: 559, 258 + xy: 544, 495 size: 100, 99 orig: 100, 99 offset: 0, 0 index: -1 ImprovementIcons/Remove Railroad rotate: false - xy: 667, 257 + xy: 652, 602 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Remove Road rotate: false - xy: 775, 257 + xy: 328, 170 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Repair rotate: false - xy: 343, 149 + xy: 436, 278 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Road rotate: false - xy: 667, 149 + xy: 328, 62 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Terrace farm rotate: false - xy: 1639, 164 + xy: 760, 176 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Trading post rotate: false - xy: 1855, 164 + xy: 691, 1804 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NotificationIcons/EnhanceReligion rotate: false - xy: 1339, 812 + xy: 406, 1250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NotificationIcons/FoundPantheon rotate: false - xy: 1339, 812 + xy: 406, 1250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NotificationIcons/FoundReligion rotate: false - xy: 1339, 812 + xy: 406, 1250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NotificationIcons/ReformReligion rotate: false - xy: 1339, 812 + xy: 406, 1250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Faith rotate: false - xy: 1339, 812 + xy: 406, 1250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NotificationIcons/Loading rotate: false - xy: 730, 581 + xy: 112, 229 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NotificationIcons/Working rotate: false - xy: 730, 581 + xy: 112, 229 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Loading rotate: false - xy: 730, 581 + xy: 112, 229 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NotificationIcons/PickConstruction rotate: false - xy: 358, 365 + xy: 652, 1142 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Production rotate: false - xy: 358, 365 + xy: 652, 1142 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NotificationIcons/PickPolicy rotate: false - xy: 406, 801 + xy: 2009, 1980 size: 33, 33 orig: 33, 33 offset: 0, 0 index: -1 NotificationIcons/PickTech rotate: false - xy: 466, 365 + xy: 328, 710 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Science rotate: false - xy: 466, 365 + xy: 328, 710 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/AirSweep rotate: false - xy: 829, 920 + xy: 4, 1000 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Aircraft rotate: false - xy: 1207, 4 + xy: 235, 1251 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/ArrowRight rotate: false - xy: 298, 568 + xy: 1862, 1855 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 NotificationIcons/MoveAutomatedUnits rotate: false - xy: 298, 568 + xy: 1862, 1855 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 NotificationIcons/NextUnit rotate: false - xy: 298, 568 + xy: 1862, 1855 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/Movement rotate: false - xy: 298, 568 + xy: 1862, 1855 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/BackArrow rotate: false - xy: 1978, 538 + xy: 1920, 1855 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/Banner rotate: false - xy: 1153, 920 + xy: 4, 784 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Camera rotate: false - xy: 1265, 29 + xy: 427, 1802 size: 25, 25 orig: 25, 25 offset: 0, 0 index: -1 OtherIcons/Capital rotate: false - xy: 4, 224 + xy: 598, 1912 size: 107, 101 orig: 107, 101 offset: 0, 0 index: -1 OtherIcons/Checkmark rotate: false - xy: 1801, 920 + xy: 4, 460 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NotificationIcons/NextTurn rotate: false - xy: 1801, 920 + xy: 4, 460 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Circle rotate: false - xy: 4, 594 + xy: 289, 1835 size: 178, 178 orig: 178, 178 offset: 0, 0 index: -1 OtherIcons/Cities rotate: false - xy: 190, 672 + xy: 4, 352 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/CityState rotate: false - xy: 1978, 480 + xy: 328, 4 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/Close rotate: false - xy: 127, 348 + xy: 1685, 1913 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/CrosshairB rotate: false - xy: 406, 689 + xy: 190, 1309 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Diplomacy rotate: false - xy: 907, 812 + xy: 427, 1682 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/DiplomacyW rotate: false - xy: 1015, 812 + xy: 412, 1574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/DisbandUnit rotate: false - xy: 1123, 812 + xy: 406, 1466 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/ExclamationMark rotate: false - xy: 1447, 812 + xy: 535, 1682 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Fire rotate: false - xy: 475, 905 + xy: 475, 1898 size: 115, 115 orig: 115, 115 offset: 0, 0 index: -1 OtherIcons/Hexagon rotate: false - xy: 4, 780 + xy: 4, 1773 + size: 277, 240 + orig: 277, 240 + offset: 0, 0 + index: -1 +OtherIcons/HexagonOutline + rotate: false + xy: 4, 1525 size: 277, 240 orig: 277, 240 offset: 0, 0 index: -1 OtherIcons/Improvements rotate: false - xy: 1971, 16 + xy: 925, 1747 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/Link rotate: false - xy: 177, 182 + xy: 983, 1747 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/Load rotate: false - xy: 622, 581 + xy: 112, 337 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/LockSmall rotate: false - xy: 235, 182 + xy: 925, 1689 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/MapEditor rotate: false - xy: 1270, 596 + xy: 730, 1358 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/MenuIcon rotate: false - xy: 1594, 596 + xy: 220, 985 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Mods rotate: false - xy: 466, 473 + xy: 220, 445 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Multiplayer rotate: false - xy: 574, 473 + xy: 220, 337 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/NationSwap rotate: false - xy: 682, 473 + xy: 220, 229 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Nations rotate: false - xy: 112, 124 + xy: 1041, 1747 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/New rotate: false - xy: 790, 473 + xy: 220, 121 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Notifications rotate: false - xy: 1006, 488 + xy: 328, 1142 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Options rotate: false - xy: 1438, 488 + xy: 436, 1034 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Pencil rotate: false - xy: 1762, 488 + xy: 436, 926 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Pentagon rotate: false - xy: 1870, 488 + xy: 544, 1034 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Pillage rotate: false - xy: 574, 365 + xy: 436, 818 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Politics rotate: false - xy: 898, 380 + xy: 328, 602 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NotificationIcons/WorldCongressVote rotate: false - xy: 898, 380 + xy: 328, 602 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Present rotate: false - xy: 1222, 380 + xy: 652, 926 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Puppet rotate: false - xy: 4, 333 + xy: 4, 1216 size: 115, 115 orig: 115, 115 offset: 0, 0 index: -1 OtherIcons/Quest rotate: false - xy: 1438, 380 + xy: 436, 602 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Question rotate: false - xy: 1546, 380 + xy: 544, 710 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Quickstart rotate: false - xy: 1654, 380 + xy: 652, 818 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Remove Heresy rotate: false - xy: 451, 257 + xy: 436, 386 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Resources rotate: false - xy: 451, 149 + xy: 544, 387 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Resume rotate: false - xy: 559, 150 + xy: 652, 494 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Search rotate: false - xy: 898, 272 + xy: 544, 279 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/SecretOptions rotate: false - xy: 1006, 272 + xy: 652, 386 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Settings rotate: false - xy: 1114, 272 + xy: 436, 62 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Shield rotate: false - xy: 1330, 272 + xy: 652, 278 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Sleep rotate: false - xy: 1654, 272 + xy: 652, 62 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Speaker rotate: false - xy: 1762, 272 + xy: 760, 1142 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Spy rotate: false - xy: 991, 164 + xy: 760, 818 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Spy_White rotate: false - xy: 1099, 164 + xy: 760, 710 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Star rotate: false - xy: 1207, 170 + xy: 760, 608 size: 100, 94 orig: 100, 94 offset: 0, 0 index: -1 OtherIcons/Swap rotate: false - xy: 1531, 164 + xy: 760, 284 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Terrains rotate: false - xy: 170, 8 + xy: 1215, 1747 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/Timer rotate: false - xy: 1747, 164 + xy: 760, 68 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Triangle rotate: false - xy: 289, 842 + xy: 4, 1339 size: 178, 178 orig: 178, 178 offset: 0, 0 index: -1 OtherIcons/Turn right rotate: false - xy: 991, 56 + xy: 907, 1805 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Tyrannosaurus rotate: false - xy: 1099, 56 + xy: 1015, 1805 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/WLTKD rotate: false - xy: 1855, 91 + xy: 1771, 1840 size: 83, 65 orig: 83, 65 offset: 0, 0 index: -1 OtherIcons/Wait rotate: false - xy: 1315, 56 + xy: 1231, 1805 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Wonders rotate: false - xy: 1747, 56 + xy: 1663, 1805 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/whiteDot rotate: false - xy: 289, 833 + xy: 289, 1565 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 ResourceIcons/Aluminum rotate: false - xy: 4, 8 + xy: 821, 1913 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Bananas rotate: false - xy: 1045, 920 + xy: 929, 1913 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Cattle rotate: false - xy: 1693, 920 + xy: 1253, 1913 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Citrus rotate: false - xy: 190, 564 + xy: 1469, 1913 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Coal rotate: false - xy: 250, 456 + xy: 4, 28 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Copper rotate: false - xy: 235, 348 + xy: 1793, 1913 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Cotton rotate: false - xy: 298, 734 + xy: 1901, 1913 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Crab rotate: false - xy: 298, 626 + xy: 190, 1417 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Deer rotate: false - xy: 799, 812 + xy: 298, 1250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Dyes rotate: false - xy: 1231, 812 + xy: 406, 1358 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Fish rotate: false - xy: 1771, 812 + xy: 514, 1358 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Furs rotate: false - xy: 946, 704 + xy: 628, 1574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Gems rotate: false - xy: 1054, 704 + xy: 622, 1466 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Gold Ore rotate: false - xy: 1270, 704 + xy: 622, 1250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Horses rotate: false - xy: 1594, 704 + xy: 112, 985 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Incense rotate: false - xy: 1702, 704 + xy: 112, 877 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Iron rotate: false - xy: 1810, 704 + xy: 112, 769 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Ivory rotate: false - xy: 1918, 704 + xy: 112, 661 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Jewelry rotate: false - xy: 406, 581 + xy: 112, 553 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Marble rotate: false - xy: 1378, 596 + xy: 730, 1250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Oil rotate: false - xy: 1222, 488 + xy: 436, 1142 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Pearls rotate: false - xy: 1654, 488 + xy: 328, 818 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Porcelain rotate: false - xy: 1114, 380 + xy: 544, 818 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Salt rotate: false - xy: 775, 149 + xy: 436, 170 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Sheep rotate: false - xy: 1222, 272 + xy: 544, 171 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Silk rotate: false - xy: 1438, 272 + xy: 544, 63 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Silver rotate: false - xy: 1546, 272 + xy: 652, 170 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Spices rotate: false - xy: 883, 164 + xy: 760, 926 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Stone rotate: false - xy: 1315, 164 + xy: 760, 500 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Sugar rotate: false - xy: 1423, 164 + xy: 760, 392 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Truffles rotate: false - xy: 883, 56 + xy: 799, 1805 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Uranium rotate: false - xy: 1207, 62 + xy: 1123, 1805 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Whales rotate: false - xy: 1423, 56 + xy: 1339, 1805 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Wheat rotate: false - xy: 1531, 56 + xy: 1447, 1805 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Wine rotate: false - xy: 1639, 56 + xy: 1555, 1805 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Acquire rotate: false - xy: 4, 116 + xy: 713, 1913 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/CityConnection rotate: false - xy: 4, 456 + xy: 289, 1697 size: 130, 130 orig: 130, 130 offset: 0, 0 index: -1 StatIcons/Culture rotate: false - xy: 514, 689 + xy: 475, 1790 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Food rotate: false - xy: 730, 689 + xy: 583, 1790 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Gold rotate: false - xy: 1162, 704 + xy: 622, 1358 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Happiness rotate: false - xy: 1378, 704 + xy: 127, 1201 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/InterceptRange rotate: false - xy: 119, 182 + xy: 867, 1689 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/Malcontent rotate: false - xy: 1054, 596 + xy: 736, 1574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Population rotate: false - xy: 1006, 380 + xy: 436, 710 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileIcons/Worked rotate: false - xy: 1006, 380 + xy: 436, 710 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Range rotate: false - xy: 170, 124 + xy: 1099, 1747 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/RangedStrength rotate: false - xy: 112, 8 + xy: 1041, 1689 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/ReligiousStrength rotate: false - xy: 127, 240 + xy: 544, 602 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Resistance rotate: false - xy: 598, 905 + xy: 289, 1574 size: 115, 115 orig: 115, 115 offset: 0, 0 index: -1 StatIcons/Specialist rotate: false - xy: 1870, 272 + xy: 760, 1034 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Strength rotate: false - xy: 228, 124 + xy: 1099, 1689 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 TileIcons/Buy rotate: false - xy: 1369, 920 + xy: 4, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileIcons/CityCenter rotate: false - xy: 142, 456 + xy: 4, 136 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileIcons/Locked rotate: false - xy: 838, 596 + xy: 112, 121 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileIcons/NotWorked rotate: false - xy: 898, 488 + xy: 220, 13 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UniqueIcons/Fallback rotate: false - xy: 1555, 812 + xy: 520, 1574 size: 100, 100 orig: 100, 100 offset: 0, 0 diff --git a/android/assets/game.png b/android/assets/game.png index a42a3c6b4e..f5673236e4 100644 Binary files a/android/assets/game.png and b/android/assets/game.png differ diff --git a/core/src/com/unciv/ui/cityscreen/CityScreen.kt b/core/src/com/unciv/ui/cityscreen/CityScreen.kt index ce495494f6..7e110f6610 100644 --- a/core/src/com/unciv/ui/cityscreen/CityScreen.kt +++ b/core/src/com/unciv/ui/cityscreen/CityScreen.kt @@ -28,6 +28,7 @@ import com.unciv.ui.tilegroups.TileSetStrings import com.unciv.ui.utils.BaseScreen import com.unciv.ui.utils.KeyCharAndCode import com.unciv.ui.utils.RecreateOnResize +import com.unciv.ui.utils.extensions.colorFromRGB import com.unciv.ui.utils.extensions.disable import com.unciv.ui.utils.extensions.keyShortcuts import com.unciv.ui.utils.extensions.onActivation @@ -226,18 +227,16 @@ class CityScreen( } for (tileGroup in tileGroups) { tileGroup.update() - tileGroup.layerOverlay.hideHighlight() + tileGroup.layerMisc.removeHexOutline() when { - tileGroup.tile == nextTileToOwn -> { - tileGroup.layerOverlay.showHighlight(Color.PURPLE) - tileGroup.setColor(0f, 0f, 0f, 0.7f) - } + tileGroup.tile == nextTileToOwn -> + tileGroup.layerMisc.addHexOutline(colorFromRGB(200, 20, 220)) /** Support for [UniqueType.CreatesOneImprovement] */ tileGroup.tile == selectedQueueEntryTargetTile -> - tileGroup.layerOverlay.showHighlight(Color.BROWN, 0.7f) + tileGroup.layerMisc.addHexOutline(Color.BROWN) pickTileData != null && city.tiles.contains(tileGroup.tile.position) -> getPickImprovementColor(tileGroup.tile).run { - tileGroup.layerOverlay.showHighlight(first, second) } + tileGroup.layerMisc.addHexOutline(first.cpy().apply { this.a = second }) } } } } diff --git a/core/src/com/unciv/ui/images/ImageGetter.kt b/core/src/com/unciv/ui/images/ImageGetter.kt index d1b7e1f75f..11b57e9f4f 100644 --- a/core/src/com/unciv/ui/images/ImageGetter.kt +++ b/core/src/com/unciv/ui/images/ImageGetter.kt @@ -178,6 +178,12 @@ object ImageGetter { return textureRegionDrawables[fileName] ?: textureRegionDrawables[whiteDotLocation]!! } + fun getDrawableOrNull(fileName: String?): TextureRegionDrawable? { + if (fileName == null) + return null + return textureRegionDrawables[fileName] + } + fun getNinePatch(fileName: String?, tintColor: Color? = null): NinePatchDrawable { val drawable = ninePatchDrawables[fileName] ?: NinePatchDrawable(NinePatch(textureRegionDrawables[whiteDotLocation]!!.region)) diff --git a/core/src/com/unciv/ui/tilegroups/TileGroup.kt b/core/src/com/unciv/ui/tilegroups/TileGroup.kt index bee25df38e..5a273325ca 100644 --- a/core/src/com/unciv/ui/tilegroups/TileGroup.kt +++ b/core/src/com/unciv/ui/tilegroups/TileGroup.kt @@ -78,13 +78,14 @@ open class TileGroup( layerTerrain.reset() layerBorders.reset() layerMisc.reset() + layerOverlay.reset() layerUnitArt.reset() layerUnitFlag.reset() - layerOverlay.setFog(true) } open fun update(viewingCiv: Civilization? = null) { + layerMisc.removeHexOutline() layerOverlay.hideHighlight() layerOverlay.hideCrosshair() diff --git a/core/src/com/unciv/ui/tilegroups/layers/TileLayerMisc.kt b/core/src/com/unciv/ui/tilegroups/layers/TileLayerMisc.kt index 9a7a6dd3ca..6355c31315 100644 --- a/core/src/com/unciv/ui/tilegroups/layers/TileLayerMisc.kt +++ b/core/src/com/unciv/ui/tilegroups/layers/TileLayerMisc.kt @@ -61,6 +61,7 @@ class TileLayerMisc(tileGroup: TileGroup, size: Float) : TileLayer(tileGroup, si private val arrowsToDraw = ArrayList() private val arrows = HashMap>() + private var hexOutlineIcon: Actor? = null private var resourceName: String? = null private var resourceIcon: Actor? = null private var workedIcon: Actor? = null @@ -256,6 +257,21 @@ class TileLayerMisc(tileGroup: TileGroup, size: Float) : TileLayer(tileGroup, si determineVisibility() } + fun addHexOutline(color: Color) { + hexOutlineIcon?.remove() + hexOutlineIcon = ImageGetter.getImage("OtherIcons/HexagonOutline").setHexagonSize(1f) + hexOutlineIcon!!.color = color + addActor(hexOutlineIcon) + hexOutlineIcon!!.toBack() + determineVisibility() + } + + fun removeHexOutline() { + hexOutlineIcon?.remove() + hexOutlineIcon = null + determineVisibility() + } + fun addArrow(targetTile: Tile, type: MapArrowType) { if (targetTile.position != tile().position) @@ -298,6 +314,7 @@ class TileLayerMisc(tileGroup: TileGroup, size: Float) : TileLayer(tileGroup, si || resourceIcon?.isVisible == true || improvementIcon != null || workedIcon != null + || hexOutlineIcon != null || arrows.isNotEmpty() || startingLocationIcons.isNotEmpty() } diff --git a/core/src/com/unciv/ui/tilegroups/layers/TileLayerOverlay.kt b/core/src/com/unciv/ui/tilegroups/layers/TileLayerOverlay.kt index f520da99a3..ed9d59d72b 100644 --- a/core/src/com/unciv/ui/tilegroups/layers/TileLayerOverlay.kt +++ b/core/src/com/unciv/ui/tilegroups/layers/TileLayerOverlay.kt @@ -40,11 +40,6 @@ class TileLayerOverlay(tileGroup: TileGroup, size: Float) : TileLayer(tileGroup, determineVisibility() } - fun setFog(isVisible: Boolean) { - fog.isVisible = isVisible && !tileGroup.isForceVisible - determineVisibility() - } - fun showHighlight(color: Color, alpha: Float = 0.3f) { highlight.isVisible = true highlight.color = color.cpy().apply { a = alpha } @@ -61,10 +56,19 @@ class TileLayerOverlay(tileGroup: TileGroup, size: Float) : TileLayer(tileGroup, determineVisibility() } + fun reset() { + fog.isVisible = true + highlight.isVisible = false + crosshair.isVisible = false + determineVisibility() + } + override fun doUpdate(viewingCiv: Civilization?) { val isViewable = viewingCiv == null || isViewable(viewingCiv) - setFog(!isViewable) + + if (!isViewable && !tileGroup.isForceVisible) + fog.isVisible = true if (viewingCiv == null) return diff --git a/core/src/com/unciv/ui/tilegroups/layers/TileLayerUnitArt.kt b/core/src/com/unciv/ui/tilegroups/layers/TileLayerUnitArt.kt index 83a7a09c74..836efbc201 100644 --- a/core/src/com/unciv/ui/tilegroups/layers/TileLayerUnitArt.kt +++ b/core/src/com/unciv/ui/tilegroups/layers/TileLayerUnitArt.kt @@ -8,15 +8,17 @@ import com.unciv.logic.map.mapunit.MapUnit import com.unciv.ui.images.ImageGetter import com.unciv.ui.tilegroups.TileGroup +private class UnitArtSlot : Group() { + var imageLocation = "" +} + class TileLayerUnitArt(tileGroup: TileGroup, size: Float) : TileLayer(tileGroup, size) { override fun act(delta: Float) {} override fun hit(x: Float, y: Float, touchable: Boolean): Actor? = null - private var locations = Array(2){""} - - private var slot1: Group = Group() - private var slot2: Group = Group() + private var slot1: UnitArtSlot = UnitArtSlot() + private var slot2: UnitArtSlot = UnitArtSlot() init { addActor(slot1) @@ -27,7 +29,7 @@ class TileLayerUnitArt(tileGroup: TileGroup, size: Float) : TileLayer(tileGroup, || viewingCiv.viewableInvisibleUnitsTiles.contains(tileGroup.tile) || !tileGroup.tile.hasEnemyInvisibleUnit(viewingCiv) - private fun updateSlot(index: Int, unit: MapUnit?, isShown: Boolean) { + private fun updateSlot(slot: UnitArtSlot, unit: MapUnit?, isShown: Boolean) { var location = "" var nationName = "" @@ -37,11 +39,9 @@ class TileLayerUnitArt(tileGroup: TileGroup, size: Float) : TileLayer(tileGroup, nationName = "${unit.civ.civName}-" } - if (locations[index] != "$nationName$location") { - locations[index] = "$nationName$location" - - val group: Group = if (index == 0) slot1 else slot2 - group.clear() + if (slot.imageLocation != "$nationName$location") { + slot.imageLocation = "$nationName$location" + slot.clear() if (location != "" && ImageGetter.imageExists(location)) { val nation = unit!!.civ.nation @@ -52,7 +52,7 @@ class TileLayerUnitArt(tileGroup: TileGroup, size: Float) : TileLayer(tileGroup, nation.getOuterColor() ) for (pixelUnitImage in pixelUnitImages) { - group.addActor(pixelUnitImage) + slot.addActor(pixelUnitImage) pixelUnitImage.setHexagonSize()// Treat this as A TILE, which gets overlayed on the base tile. } } @@ -75,8 +75,8 @@ class TileLayerUnitArt(tileGroup: TileGroup, size: Float) : TileLayer(tileGroup, val isSlot1Shown = isPixelUnitsEnabled && isViewable val isSlot2Shown = isPixelUnitsEnabled && isViewable && isVisibleMilitary - updateSlot(0, slot1Unit, isShown = isSlot1Shown) - updateSlot(1, slot2Unit, isShown = isSlot2Shown) + updateSlot(slot1, slot1Unit, isShown = isSlot1Shown) + updateSlot(slot2, slot2Unit, isShown = isSlot2Shown) } override fun determineVisibility() { @@ -84,7 +84,10 @@ class TileLayerUnitArt(tileGroup: TileGroup, size: Float) : TileLayer(tileGroup, } fun reset() { - updateSlot(0, null, false) - updateSlot(1, null, false) + slot1.clear() + slot2.clear() + + slot1.imageLocation = "" + slot2.imageLocation = "" } } diff --git a/core/src/com/unciv/ui/tilegroups/layers/TileLayerUnitFlag.kt b/core/src/com/unciv/ui/tilegroups/layers/TileLayerUnitFlag.kt index dc041fdfc3..7f9ae5646e 100644 --- a/core/src/com/unciv/ui/tilegroups/layers/TileLayerUnitFlag.kt +++ b/core/src/com/unciv/ui/tilegroups/layers/TileLayerUnitFlag.kt @@ -51,7 +51,7 @@ class TileLayerUnitFlag(tileGroup: TileGroup, size: Float) : TileLayer(tileGroup var newIcon: UnitGroup? = null if (unit != null && isViewable) { - newIcon = UnitGroup(unit, 25f) + newIcon = UnitGroup(unit, 30f) addActor(newIcon) setIconPosition(slot, newIcon) diff --git a/core/src/com/unciv/ui/utils/UnitGroup.kt b/core/src/com/unciv/ui/utils/UnitGroup.kt index 1613a8586f..9b8929dca7 100644 --- a/core/src/com/unciv/ui/utils/UnitGroup.kt +++ b/core/src/com/unciv/ui/utils/UnitGroup.kt @@ -1,102 +1,149 @@ package com.unciv.ui.utils +import com.badlogic.gdx.graphics.Color +import com.badlogic.gdx.graphics.g2d.Batch import com.badlogic.gdx.scenes.scene2d.Group import com.badlogic.gdx.scenes.scene2d.actions.Actions import com.badlogic.gdx.scenes.scene2d.actions.RepeatAction import com.badlogic.gdx.scenes.scene2d.ui.Image +import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable import com.badlogic.gdx.utils.Align import com.unciv.UncivGame import com.unciv.logic.map.mapunit.MapUnit import com.unciv.ui.images.ImageGetter -import com.unciv.ui.utils.extensions.center +import com.unciv.ui.utils.extensions.addToCenter import com.unciv.ui.utils.extensions.colorFromRGB +import com.unciv.ui.utils.extensions.setSize import com.unciv.ui.utils.extensions.surroundWithCircle import com.unciv.ui.utils.extensions.surroundWithThinCircle -class UnitGroup(val unit: MapUnit, val size: Float): Group() { - var actionGroup :Group? = null - val flagIcon = ImageGetter.getUnitIcon(unit.name, unit.civ.nation.getInnerColor()) - .apply { - if (unit.isCivilian()) - setSize(size * 0.60f, size * 0.60f) - else - setSize(size * 0.75f, size * 0.75f) } - var flagSelection: Image = getBackgroundSelectionForUnit() - var flagBg: Group = Group() +class FlagBackground(drawable: TextureRegionDrawable, size: Float): Image(drawable) { + + var drawableInner: TextureRegionDrawable? = null + + var innerColor: Color = Color.WHITE + var outerColor: Color = Color.RED + var outlineColor: Color = Color.WHITE + + var drawOutline = false + + private val innerMultiplier = 0.88f + private val outlineMultiplier = 1.08f + + private val innerWidth: Float; private val innerHeight: Float + private val innerOffsetX: Float; private val innerOffsetY: Float + + private val outlineWidth: Float; private val outlineHeight: Float + private val outlineOffsetX: Float; private val outlineOffsetY: Float init { - val outerBg = getBackgroundImageForUnit() - val innerBg = getBackgroundImageForUnit() - val maskBg = getBackgroundMaskForUnit() + val ratio = height/width + width = size + height = size * ratio - val sizeSelectionX = size*1.9f; val sizeSelectionY = sizeSelectionX*flagSelection.height/flagSelection.width - val sizeOuterBgX = size*1.15f; val sizeOuterBgY = sizeOuterBgX*outerBg.height/outerBg.width - val sizeInnerBgX = size; val sizeInnerBgY = sizeInnerBgX*innerBg.height/innerBg.width + innerWidth = width * innerMultiplier; innerHeight = height * innerMultiplier + innerOffsetX = (width - innerWidth) / 2; innerOffsetY = (height - innerHeight) / 2 - setSize(sizeOuterBgX, sizeOuterBgY) + outlineWidth = width * outlineMultiplier; outlineHeight = height * outlineMultiplier + outlineOffsetX = (outlineWidth - width) / 2; outlineOffsetY = (outlineHeight - height) / 2 + } - flagSelection.color.set(1f, 1f, 1f, 0f) + override fun getDrawable(): TextureRegionDrawable { + return super.getDrawable() as TextureRegionDrawable + } + + override fun draw(batch: Batch?, parentAlpha: Float) { + val alpha = color.a*parentAlpha + val drawable = drawable + + if (drawOutline) { + batch?.setColor(outlineColor.r, outlineColor.g, outlineColor.b, outlineColor.a*alpha) + drawable.draw(batch, x-outlineOffsetX, y-outlineOffsetY, outlineWidth, outlineHeight) + } + + batch?.setColor(outerColor.r, outerColor.g, outerColor.b, outerColor.a*alpha) + drawable.draw(batch, x, y, width, height) + + batch?.setColor(innerColor.r, innerColor.g, innerColor.b, innerColor.a * alpha) + if (drawableInner == null) { + drawable.draw(batch, x + innerOffsetX, y + innerOffsetY, innerWidth, innerHeight) + } else { + drawableInner!!.draw(batch, x, y, width, height) + } + } + +} + +class UnitGroup(val unit: MapUnit, val size: Float): Group() { + var actionGroup :Group? = null + + private val flagIcon = ImageGetter.getUnitIcon(unit.name, unit.civ.nation.getInnerColor()) + private var flagBg: FlagBackground = FlagBackground(getBackgroundDrawableForUnit(), size) + private var flagSelection: Image = getBackgroundSelectionForUnit() + private var flagMask: Image? = getBackgroundMaskForUnit() + + init { + + isTransform = false // performance helper - nothing here is rotated or scaled + color.a *= UncivGame.Current.settings.unitIconOpacity + + val sizeSelectionX = size*1.6f + val sizeSelectionY = sizeSelectionX*flagSelection.height/flagSelection.width + + setSize(flagBg.width, flagBg.height) + + flagSelection.color.set(1f, 1f, 0.9f, 0f) flagSelection.align = Align.center flagSelection.setSize(sizeSelectionX, sizeSelectionY) - flagSelection.center(this) - flagBg.setSize(sizeOuterBgX, sizeOuterBgY) + flagBg.innerColor = unit.civ.nation.getOuterColor() + flagBg.outerColor = unit.civ.nation.getInnerColor() + flagBg.outlineColor = flagBg.innerColor + flagBg.drawableInner = getBackgroundInnerDrawableForUnit() - // 0f (invisible) to 1f (fully opaque) - flagIcon.color.a = UncivGame.Current.settings.unitIconOpacity + if (flagMask != null) { + flagMask!!.setSize(size*0.88f, size*0.88f * flagMask!!.height / flagMask!!.width) + } - outerBg.color = unit.civ.nation.getInnerColor() - outerBg.color.a = UncivGame.Current.settings.unitIconOpacity - outerBg.setSize(sizeOuterBgX, sizeOuterBgY) - outerBg.center(flagBg) + val flagIconSizeMultiplier: Float = if (unit.isCivilian()) 0.5f else 0.65f + flagIcon.setSize(size * flagIconSizeMultiplier) - innerBg.color = unit.civ.nation.getOuterColor() - innerBg.color.a = UncivGame.Current.settings.unitIconOpacity - innerBg.setSize(sizeInnerBgX, sizeInnerBgY) - innerBg.center(flagBg) - - maskBg?.color?.a = UncivGame.Current.settings.unitIconOpacity - maskBg?.setSize(size, size*maskBg.height / maskBg.width) - maskBg?.center(flagBg) - - flagBg.addActor(outerBg) - flagBg.addActor(innerBg) - if (maskBg != null) - flagBg.addActor(maskBg) - flagBg.center(this) - - flagIcon.center(this) - - addActor(flagSelection) - addActor(flagBg) - addActor(flagIcon) + addToCenter(flagSelection) + addToCenter(flagBg) + if (flagMask != null) + addToCenter(flagMask!!) + addToCenter(flagIcon) val actionImage = getActionImage() if (actionImage != null) { - val actionCircle = actionImage - .surroundWithCircle(size / 2 * 0.9f) + actionGroup = actionImage + .surroundWithCircle(size/2 * 0.9f) .surroundWithThinCircle() - actionCircle.setPosition(size / 2, 0f) - actionCircle.color.a = UncivGame.Current.settings.unitIconOpacity - addActor(actionCircle) - actionGroup = actionCircle - actionCircle.toFront() + actionGroup!!.setPosition(size/2, 0f) + addActor(actionGroup) } if (unit.health < 100) { // add health bar addActor(ImageGetter.getHealthBar(unit.health.toFloat(), 100f, size)) } - - isTransform = false // performance helper - nothing here is rotated or scaled } - private fun getBackgroundImageForUnit(): Image { + private fun getBackgroundDrawableForUnit(): TextureRegionDrawable { return when { - unit.isEmbarked() -> ImageGetter.getImage("UnitFlagIcons/UnitFlagEmbark") - unit.isFortified() -> ImageGetter.getImage("UnitFlagIcons/UnitFlagFortify") - unit.isCivilian() -> ImageGetter.getImage("UnitFlagIcons/UnitFlagCivilian") - else -> ImageGetter.getImage("UnitFlagIcons/UnitFlag") + unit.isEmbarked() -> ImageGetter.getDrawable("UnitFlagIcons/UnitFlagEmbark") + unit.isFortified() -> ImageGetter.getDrawable("UnitFlagIcons/UnitFlagFortify") + unit.isCivilian() -> ImageGetter.getDrawable("UnitFlagIcons/UnitFlagCivilian") + else -> ImageGetter.getDrawable("UnitFlagIcons/UnitFlag") + } + } + + private fun getBackgroundInnerDrawableForUnit(): TextureRegionDrawable? { + return when { + unit.isEmbarked() -> ImageGetter.getDrawableOrNull("UnitFlagIcons/UnitFlagEmbarkInner") + unit.isFortified() -> ImageGetter.getDrawableOrNull("UnitFlagIcons/UnitFlagFortifyInner") + unit.isCivilian() -> ImageGetter.getDrawableOrNull("UnitFlagIcons/UnitFlagCivilianInner") + else -> ImageGetter.getDrawableOrNull("UnitFlagIcons/UnitFlagInner") } } @@ -135,16 +182,12 @@ class UnitGroup(val unit: MapUnit, val size: Float): Group() { } fun highlightRed() { - flagSelection.color = colorFromRGB(230, 20, 0).apply { a = 1.0f } - flagSelection.width *= 0.9f - flagSelection.height *= 0.9f - flagSelection.center(flagSelection.parent) + flagSelection.color = colorFromRGB(230, 0, 0).apply { a = 1f } + flagBg.drawOutline = true } fun selectUnit() { - - //Make unit icon background colors fully opaque when units are selected - flagBg.children.forEach { it.color?.a = 1f } + color.a = 1f //If unit is idle, leave actionGroup at 50% opacity when selected if (unit.isIdle()) { @@ -160,6 +203,7 @@ class UnitGroup(val unit: MapUnit, val size: Float): Group() { val alpha = if (shouldBeFaded) 0.5f else 1f flagIcon.color.a = alpha flagBg.color.a = alpha + flagSelection.color.a = 1f if (UncivGame.Current.settings.continuousRendering) { flagSelection.color.a = 1f @@ -167,7 +211,7 @@ class UnitGroup(val unit: MapUnit, val size: Float): Group() { Actions.repeat( RepeatAction.FOREVER, Actions.sequence( - Actions.alpha(0.6f, 1f), + Actions.alpha(0.7f, 1f), Actions.alpha(1f, 1f) ) ) diff --git a/core/src/com/unciv/ui/worldscreen/WorldMapHolder.kt b/core/src/com/unciv/ui/worldscreen/WorldMapHolder.kt index e7960a92dc..56a0a4f4b7 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldMapHolder.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldMapHolder.kt @@ -733,8 +733,7 @@ class WorldMapHolder( for (tileGroup in tileGroups.values) { tileGroup.layerCityButton.isTransform = false // to save on rendering time to improve framerate } - } - if (clampedCityButtonZoom < 1 && clampedCityButtonZoom >= minZoom) { + } else if (clampedCityButtonZoom >= minZoom) { for (tileGroup in tileGroups.values) { // ONLY set those groups that have active city buttons as transformable! // This is massively framerate-improving!