diff --git a/Credits.md b/Credits.md index cddb4e90a7..6574505ae2 100644 --- a/Credits.md +++ b/Credits.md @@ -34,3 +34,5 @@ All the following are from [the Noun Project](https://thenounproject.com) licenc * [Horse](https://thenounproject.com/search/?q=Horse&i=1023745) By Bakunetso Kaito * [Artillery](https://thenounproject.com/search/?q=Artillery&i=1165261) By Creative Mania * [Skull](https://thenounproject.com/search/?q=Skull&i=1030702) By Vladimir Belochkin +* [Crosshair](https://thenounproject.com/search/?q=crosshairs&i=916030) By Bakunetsu Kaito +* [City](https://thenounproject.com/search/?q=city&i=571332) By Felix Westphal diff --git a/android/assets/FlagIcons/Dutch.png b/android/assets/FlagIcons/Dutch.png deleted file mode 100644 index 41cd4239b7..0000000000 Binary files a/android/assets/FlagIcons/Dutch.png and /dev/null differ diff --git a/android/assets/FlagIcons/English.png b/android/assets/FlagIcons/English.png deleted file mode 100644 index 49eea3c2e2..0000000000 Binary files a/android/assets/FlagIcons/English.png and /dev/null differ diff --git a/android/assets/FlagIcons/French.png b/android/assets/FlagIcons/French.png deleted file mode 100644 index d48273c74f..0000000000 Binary files a/android/assets/FlagIcons/French.png and /dev/null differ diff --git a/android/assets/FlagIcons/German.png b/android/assets/FlagIcons/German.png deleted file mode 100644 index 2644cdb785..0000000000 Binary files a/android/assets/FlagIcons/German.png and /dev/null differ diff --git a/android/assets/FlagIcons/Italian.png b/android/assets/FlagIcons/Italian.png deleted file mode 100644 index 67b81fd4d6..0000000000 Binary files a/android/assets/FlagIcons/Italian.png and /dev/null differ diff --git a/android/assets/FlagIcons/Romanian.png b/android/assets/FlagIcons/Romanian.png deleted file mode 100644 index 34865ee561..0000000000 Binary files a/android/assets/FlagIcons/Romanian.png and /dev/null differ diff --git a/android/assets/FlagIcons/Russian.png b/android/assets/FlagIcons/Russian.png deleted file mode 100644 index 8b8293cd59..0000000000 Binary files a/android/assets/FlagIcons/Russian.png and /dev/null differ diff --git a/android/assets/FlagIcons/Spanish.png b/android/assets/FlagIcons/Spanish.png deleted file mode 100644 index 6a9319d1cd..0000000000 Binary files a/android/assets/FlagIcons/Spanish.png and /dev/null differ diff --git a/android/assets/Images/FlagIcons/Dutch.png b/android/assets/Images/FlagIcons/Dutch.png new file mode 100644 index 0000000000..1e91a45eb2 Binary files /dev/null and b/android/assets/Images/FlagIcons/Dutch.png differ diff --git a/android/assets/Images/FlagIcons/English.png b/android/assets/Images/FlagIcons/English.png new file mode 100644 index 0000000000..d720604c2e Binary files /dev/null and b/android/assets/Images/FlagIcons/English.png differ diff --git a/android/assets/Images/FlagIcons/French.png b/android/assets/Images/FlagIcons/French.png new file mode 100644 index 0000000000..7ce40496f3 Binary files /dev/null and b/android/assets/Images/FlagIcons/French.png differ diff --git a/android/assets/Images/FlagIcons/German.png b/android/assets/Images/FlagIcons/German.png new file mode 100644 index 0000000000..a1fa1e6b62 Binary files /dev/null and b/android/assets/Images/FlagIcons/German.png differ diff --git a/android/assets/Images/FlagIcons/Italian.png b/android/assets/Images/FlagIcons/Italian.png new file mode 100644 index 0000000000..ed50f87d3b Binary files /dev/null and b/android/assets/Images/FlagIcons/Italian.png differ diff --git a/android/assets/Images/FlagIcons/Romanian.png b/android/assets/Images/FlagIcons/Romanian.png new file mode 100644 index 0000000000..ece1a43786 Binary files /dev/null and b/android/assets/Images/FlagIcons/Romanian.png differ diff --git a/android/assets/Images/FlagIcons/Russian.png b/android/assets/Images/FlagIcons/Russian.png new file mode 100644 index 0000000000..4cb6b005ec Binary files /dev/null and b/android/assets/Images/FlagIcons/Russian.png differ diff --git a/android/assets/Images/FlagIcons/Spanish.png b/android/assets/Images/FlagIcons/Spanish.png new file mode 100644 index 0000000000..8e16080a0c Binary files /dev/null and b/android/assets/Images/FlagIcons/Spanish.png differ diff --git a/android/assets/ImprovementIcons/Academy_(Civ5).png b/android/assets/Images/ImprovementIcons/Academy_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Academy_(Civ5).png rename to android/assets/Images/ImprovementIcons/Academy_(Civ5).png diff --git a/android/assets/ImprovementIcons/Camp_(Civ5).png b/android/assets/Images/ImprovementIcons/Camp_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Camp_(Civ5).png rename to android/assets/Images/ImprovementIcons/Camp_(Civ5).png diff --git a/android/assets/ImprovementIcons/Customs_house_(Civ5).png b/android/assets/Images/ImprovementIcons/Customs_house_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Customs_house_(Civ5).png rename to android/assets/Images/ImprovementIcons/Customs_house_(Civ5).png diff --git a/android/assets/ImprovementIcons/Farm_(Civ5).png b/android/assets/Images/ImprovementIcons/Farm_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Farm_(Civ5).png rename to android/assets/Images/ImprovementIcons/Farm_(Civ5).png diff --git a/android/assets/ImprovementIcons/Landmark_(Civ5).png b/android/assets/Images/ImprovementIcons/Landmark_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Landmark_(Civ5).png rename to android/assets/Images/ImprovementIcons/Landmark_(Civ5).png diff --git a/android/assets/ImprovementIcons/Lumber_mill_(Civ5).png b/android/assets/Images/ImprovementIcons/Lumber_mill_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Lumber_mill_(Civ5).png rename to android/assets/Images/ImprovementIcons/Lumber_mill_(Civ5).png diff --git a/android/assets/ImprovementIcons/Manufactory_(Civ5).png b/android/assets/Images/ImprovementIcons/Manufactory_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Manufactory_(Civ5).png rename to android/assets/Images/ImprovementIcons/Manufactory_(Civ5).png diff --git a/android/assets/ImprovementIcons/Mine_(Civ5).png b/android/assets/Images/ImprovementIcons/Mine_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Mine_(Civ5).png rename to android/assets/Images/ImprovementIcons/Mine_(Civ5).png diff --git a/android/assets/ImprovementIcons/Oil_well_(Civ5).png b/android/assets/Images/ImprovementIcons/Oil_well_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Oil_well_(Civ5).png rename to android/assets/Images/ImprovementIcons/Oil_well_(Civ5).png diff --git a/android/assets/ImprovementIcons/Pasture_(Civ5).png b/android/assets/Images/ImprovementIcons/Pasture_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Pasture_(Civ5).png rename to android/assets/Images/ImprovementIcons/Pasture_(Civ5).png diff --git a/android/assets/ImprovementIcons/Plantation_(Civ5).png b/android/assets/Images/ImprovementIcons/Plantation_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Plantation_(Civ5).png rename to android/assets/Images/ImprovementIcons/Plantation_(Civ5).png diff --git a/android/assets/ImprovementIcons/Quarry_(Civ5).png b/android/assets/Images/ImprovementIcons/Quarry_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Quarry_(Civ5).png rename to android/assets/Images/ImprovementIcons/Quarry_(Civ5).png diff --git a/android/assets/ImprovementIcons/Railroad_(Civ5).png b/android/assets/Images/ImprovementIcons/Railroad_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Railroad_(Civ5).png rename to android/assets/Images/ImprovementIcons/Railroad_(Civ5).png diff --git a/android/assets/ImprovementIcons/Road_(Civ5).png b/android/assets/Images/ImprovementIcons/Road_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Road_(Civ5).png rename to android/assets/Images/ImprovementIcons/Road_(Civ5).png diff --git a/android/assets/ImprovementIcons/Trading_post_(Civ5).png b/android/assets/Images/ImprovementIcons/Trading_post_(Civ5).png similarity index 100% rename from android/assets/ImprovementIcons/Trading_post_(Civ5).png rename to android/assets/Images/ImprovementIcons/Trading_post_(Civ5).png diff --git a/android/assets/Images/OtherIcons/Circle.png b/android/assets/Images/OtherIcons/Circle.png new file mode 100644 index 0000000000..545455b1e0 Binary files /dev/null and b/android/assets/Images/OtherIcons/Circle.png differ diff --git a/android/assets/Images/OtherIcons/City.png b/android/assets/Images/OtherIcons/City.png new file mode 100644 index 0000000000..62d35beff9 Binary files /dev/null and b/android/assets/Images/OtherIcons/City.png differ diff --git a/android/assets/Images/OtherIcons/Crosshair.png b/android/assets/Images/OtherIcons/Crosshair.png new file mode 100644 index 0000000000..bf35e244da Binary files /dev/null and b/android/assets/Images/OtherIcons/Crosshair.png differ diff --git a/android/assets/OtherIcons/DisbandUnit.png b/android/assets/Images/OtherIcons/DisbandUnit.png similarity index 100% rename from android/assets/OtherIcons/DisbandUnit.png rename to android/assets/Images/OtherIcons/DisbandUnit.png diff --git a/android/assets/OtherIcons/Fire.png b/android/assets/Images/OtherIcons/Fire.png similarity index 100% rename from android/assets/OtherIcons/Fire.png rename to android/assets/Images/OtherIcons/Fire.png diff --git a/android/assets/Images/OtherIcons/MenuIcon.png b/android/assets/Images/OtherIcons/MenuIcon.png new file mode 100644 index 0000000000..fed299db64 Binary files /dev/null and b/android/assets/Images/OtherIcons/MenuIcon.png differ diff --git a/android/assets/OtherIcons/Railroad.png b/android/assets/Images/OtherIcons/Railroad.png similarity index 100% rename from android/assets/OtherIcons/Railroad.png rename to android/assets/Images/OtherIcons/Railroad.png diff --git a/android/assets/OtherIcons/Shield.png b/android/assets/Images/OtherIcons/Shield.png similarity index 100% rename from android/assets/OtherIcons/Shield.png rename to android/assets/Images/OtherIcons/Shield.png diff --git a/android/assets/Images/OtherIcons/Star.png b/android/assets/Images/OtherIcons/Star.png new file mode 100644 index 0000000000..2c5c326644 Binary files /dev/null and b/android/assets/Images/OtherIcons/Star.png differ diff --git a/android/assets/OtherIcons/Stop.png b/android/assets/Images/OtherIcons/Stop.png similarity index 100% rename from android/assets/OtherIcons/Stop.png rename to android/assets/Images/OtherIcons/Stop.png diff --git a/android/assets/skin/civTableBackground.png b/android/assets/Images/OtherIcons/civTableBackground.png similarity index 100% rename from android/assets/skin/civTableBackground.png rename to android/assets/Images/OtherIcons/civTableBackground.png diff --git a/android/assets/skin/tileTableBackground.png b/android/assets/Images/OtherIcons/tileTableBackground.png similarity index 100% rename from android/assets/skin/tileTableBackground.png rename to android/assets/Images/OtherIcons/tileTableBackground.png diff --git a/android/assets/skin/whiteDot.png b/android/assets/Images/OtherIcons/whiteDot.png similarity index 100% rename from android/assets/skin/whiteDot.png rename to android/assets/Images/OtherIcons/whiteDot.png diff --git a/android/assets/PolicyIcons/Aristocracy_(Civ5).png b/android/assets/Images/PolicyIcons/Aristocracy_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Aristocracy_(Civ5).png rename to android/assets/Images/PolicyIcons/Aristocracy_(Civ5).png diff --git a/android/assets/PolicyIcons/Citizenship_(Civ5).png b/android/assets/Images/PolicyIcons/Citizenship_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Citizenship_(Civ5).png rename to android/assets/Images/PolicyIcons/Citizenship_(Civ5).png diff --git a/android/assets/PolicyIcons/Civil_Society_(Civ5).png b/android/assets/Images/PolicyIcons/Civil_Society_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Civil_Society_(Civ5).png rename to android/assets/Images/PolicyIcons/Civil_Society_(Civ5).png diff --git a/android/assets/PolicyIcons/Collective_Rule_(Civ5).png b/android/assets/Images/PolicyIcons/Collective_Rule_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Collective_Rule_(Civ5).png rename to android/assets/Images/PolicyIcons/Collective_Rule_(Civ5).png diff --git a/android/assets/PolicyIcons/Constitution_(Civ5).png b/android/assets/Images/PolicyIcons/Constitution_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Constitution_(Civ5).png rename to android/assets/Images/PolicyIcons/Constitution_(Civ5).png diff --git a/android/assets/PolicyIcons/Democracy_(Civ5).png b/android/assets/Images/PolicyIcons/Democracy_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Democracy_(Civ5).png rename to android/assets/Images/PolicyIcons/Democracy_(Civ5).png diff --git a/android/assets/PolicyIcons/Entrepreneurship_(Civ5).png b/android/assets/Images/PolicyIcons/Entrepreneurship_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Entrepreneurship_(Civ5).png rename to android/assets/Images/PolicyIcons/Entrepreneurship_(Civ5).png diff --git a/android/assets/PolicyIcons/Free_Religion_(Civ5).png b/android/assets/Images/PolicyIcons/Free_Religion_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Free_Religion_(Civ5).png rename to android/assets/Images/PolicyIcons/Free_Religion_(Civ5).png diff --git a/android/assets/PolicyIcons/Free_Speech_(Civ5).png b/android/assets/Images/PolicyIcons/Free_Speech_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Free_Speech_(Civ5).png rename to android/assets/Images/PolicyIcons/Free_Speech_(Civ5).png diff --git a/android/assets/PolicyIcons/Free_Thought_(Civ5).png b/android/assets/Images/PolicyIcons/Free_Thought_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Free_Thought_(Civ5).png rename to android/assets/Images/PolicyIcons/Free_Thought_(Civ5).png diff --git a/android/assets/PolicyIcons/Humanism_(Civ5).png b/android/assets/Images/PolicyIcons/Humanism_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Humanism_(Civ5).png rename to android/assets/Images/PolicyIcons/Humanism_(Civ5).png diff --git a/android/assets/PolicyIcons/Landed_Elite_(Civ5).png b/android/assets/Images/PolicyIcons/Landed_Elite_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Landed_Elite_(Civ5).png rename to android/assets/Images/PolicyIcons/Landed_Elite_(Civ5).png diff --git a/android/assets/PolicyIcons/Legalism_(Civ5).png b/android/assets/Images/PolicyIcons/Legalism_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Legalism_(Civ5).png rename to android/assets/Images/PolicyIcons/Legalism_(Civ5).png diff --git a/android/assets/PolicyIcons/Mandate_Of_Heaven_(Civ5).png b/android/assets/Images/PolicyIcons/Mandate_Of_Heaven_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Mandate_Of_Heaven_(Civ5).png rename to android/assets/Images/PolicyIcons/Mandate_Of_Heaven_(Civ5).png diff --git a/android/assets/PolicyIcons/Mercantilism_(Civ5).png b/android/assets/Images/PolicyIcons/Mercantilism_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Mercantilism_(Civ5).png rename to android/assets/Images/PolicyIcons/Mercantilism_(Civ5).png diff --git a/android/assets/PolicyIcons/Meritocracy_(Civ5).png b/android/assets/Images/PolicyIcons/Meritocracy_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Meritocracy_(Civ5).png rename to android/assets/Images/PolicyIcons/Meritocracy_(Civ5).png diff --git a/android/assets/PolicyIcons/Monarchy_(Civ5).png b/android/assets/Images/PolicyIcons/Monarchy_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Monarchy_(Civ5).png rename to android/assets/Images/PolicyIcons/Monarchy_(Civ5).png diff --git a/android/assets/PolicyIcons/Oligarchy_(Civ5).png b/android/assets/Images/PolicyIcons/Oligarchy_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Oligarchy_(Civ5).png rename to android/assets/Images/PolicyIcons/Oligarchy_(Civ5).png diff --git a/android/assets/PolicyIcons/Organized_Religion_(Civ5).png b/android/assets/Images/PolicyIcons/Organized_Religion_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Organized_Religion_(Civ5).png rename to android/assets/Images/PolicyIcons/Organized_Religion_(Civ5).png diff --git a/android/assets/PolicyIcons/Patronage_(Civ5).png b/android/assets/Images/PolicyIcons/Patronage_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Patronage_(Civ5).png rename to android/assets/Images/PolicyIcons/Patronage_(Civ5).png diff --git a/android/assets/PolicyIcons/Protectionism_(Civ5).png b/android/assets/Images/PolicyIcons/Protectionism_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Protectionism_(Civ5).png rename to android/assets/Images/PolicyIcons/Protectionism_(Civ5).png diff --git a/android/assets/PolicyIcons/Reformation_(Civ5).png b/android/assets/Images/PolicyIcons/Reformation_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Reformation_(Civ5).png rename to android/assets/Images/PolicyIcons/Reformation_(Civ5).png diff --git a/android/assets/PolicyIcons/Representation_(Civ5).png b/android/assets/Images/PolicyIcons/Representation_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Representation_(Civ5).png rename to android/assets/Images/PolicyIcons/Representation_(Civ5).png diff --git a/android/assets/PolicyIcons/Republic_(Civ5).png b/android/assets/Images/PolicyIcons/Republic_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Republic_(Civ5).png rename to android/assets/Images/PolicyIcons/Republic_(Civ5).png diff --git a/android/assets/PolicyIcons/Scientific_Revolution_(Civ5).png b/android/assets/Images/PolicyIcons/Scientific_Revolution_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Scientific_Revolution_(Civ5).png rename to android/assets/Images/PolicyIcons/Scientific_Revolution_(Civ5).png diff --git a/android/assets/PolicyIcons/Secularism_(Civ5).png b/android/assets/Images/PolicyIcons/Secularism_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Secularism_(Civ5).png rename to android/assets/Images/PolicyIcons/Secularism_(Civ5).png diff --git a/android/assets/PolicyIcons/Sovereignty_(Civ5).png b/android/assets/Images/PolicyIcons/Sovereignty_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Sovereignty_(Civ5).png rename to android/assets/Images/PolicyIcons/Sovereignty_(Civ5).png diff --git a/android/assets/PolicyIcons/Theocracy_(Civ5).png b/android/assets/Images/PolicyIcons/Theocracy_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Theocracy_(Civ5).png rename to android/assets/Images/PolicyIcons/Theocracy_(Civ5).png diff --git a/android/assets/PolicyIcons/Trade_Unions_(Civ5).png b/android/assets/Images/PolicyIcons/Trade_Unions_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Trade_Unions_(Civ5).png rename to android/assets/Images/PolicyIcons/Trade_Unions_(Civ5).png diff --git a/android/assets/PolicyIcons/Universal_Suffrage_(Civ5).png b/android/assets/Images/PolicyIcons/Universal_Suffrage_(Civ5).png similarity index 100% rename from android/assets/PolicyIcons/Universal_Suffrage_(Civ5).png rename to android/assets/Images/PolicyIcons/Universal_Suffrage_(Civ5).png diff --git a/android/assets/ResourceIcons/Aluminum_(Civ5).png b/android/assets/Images/ResourceIcons/Aluminum_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Aluminum_(Civ5).png rename to android/assets/Images/ResourceIcons/Aluminum_(Civ5).png diff --git a/android/assets/ResourceIcons/Bananas_(Civ5).png b/android/assets/Images/ResourceIcons/Bananas_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Bananas_(Civ5).png rename to android/assets/Images/ResourceIcons/Bananas_(Civ5).png diff --git a/android/assets/ResourceIcons/Cattle_(Civ5).png b/android/assets/Images/ResourceIcons/Cattle_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Cattle_(Civ5).png rename to android/assets/Images/ResourceIcons/Cattle_(Civ5).png diff --git a/android/assets/ResourceIcons/Coal_(Civ5).png b/android/assets/Images/ResourceIcons/Coal_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Coal_(Civ5).png rename to android/assets/Images/ResourceIcons/Coal_(Civ5).png diff --git a/android/assets/ResourceIcons/Cotton_(Civ5).png b/android/assets/Images/ResourceIcons/Cotton_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Cotton_(Civ5).png rename to android/assets/Images/ResourceIcons/Cotton_(Civ5).png diff --git a/android/assets/ResourceIcons/Deer_(Civ5).png b/android/assets/Images/ResourceIcons/Deer_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Deer_(Civ5).png rename to android/assets/Images/ResourceIcons/Deer_(Civ5).png diff --git a/android/assets/ResourceIcons/Dyes_(Civ5).png b/android/assets/Images/ResourceIcons/Dyes_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Dyes_(Civ5).png rename to android/assets/Images/ResourceIcons/Dyes_(Civ5).png diff --git a/android/assets/ResourceIcons/Furs_(Civ5).png b/android/assets/Images/ResourceIcons/Furs_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Furs_(Civ5).png rename to android/assets/Images/ResourceIcons/Furs_(Civ5).png diff --git a/android/assets/ResourceIcons/Gems_(Civ5).png b/android/assets/Images/ResourceIcons/Gems_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Gems_(Civ5).png rename to android/assets/Images/ResourceIcons/Gems_(Civ5).png diff --git a/android/assets/ResourceIcons/Gold_(Civ5).png b/android/assets/Images/ResourceIcons/Gold_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Gold_(Civ5).png rename to android/assets/Images/ResourceIcons/Gold_(Civ5).png diff --git a/android/assets/ResourceIcons/Horses_(Civ5).png b/android/assets/Images/ResourceIcons/Horses_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Horses_(Civ5).png rename to android/assets/Images/ResourceIcons/Horses_(Civ5).png diff --git a/android/assets/ResourceIcons/Incense_(Civ5).png b/android/assets/Images/ResourceIcons/Incense_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Incense_(Civ5).png rename to android/assets/Images/ResourceIcons/Incense_(Civ5).png diff --git a/android/assets/ResourceIcons/Iron_(Civ5).png b/android/assets/Images/ResourceIcons/Iron_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Iron_(Civ5).png rename to android/assets/Images/ResourceIcons/Iron_(Civ5).png diff --git a/android/assets/ResourceIcons/Ivory_(Civ5).png b/android/assets/Images/ResourceIcons/Ivory_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Ivory_(Civ5).png rename to android/assets/Images/ResourceIcons/Ivory_(Civ5).png diff --git a/android/assets/ResourceIcons/Marble_(Civ5).png b/android/assets/Images/ResourceIcons/Marble_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Marble_(Civ5).png rename to android/assets/Images/ResourceIcons/Marble_(Civ5).png diff --git a/android/assets/ResourceIcons/Oil_(Civ5).png b/android/assets/Images/ResourceIcons/Oil_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Oil_(Civ5).png rename to android/assets/Images/ResourceIcons/Oil_(Civ5).png diff --git a/android/assets/ResourceIcons/Sheep_(Civ5).png b/android/assets/Images/ResourceIcons/Sheep_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Sheep_(Civ5).png rename to android/assets/Images/ResourceIcons/Sheep_(Civ5).png diff --git a/android/assets/ResourceIcons/Silk_(Civ5).png b/android/assets/Images/ResourceIcons/Silk_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Silk_(Civ5).png rename to android/assets/Images/ResourceIcons/Silk_(Civ5).png diff --git a/android/assets/ResourceIcons/Silver_(Civ5).png b/android/assets/Images/ResourceIcons/Silver_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Silver_(Civ5).png rename to android/assets/Images/ResourceIcons/Silver_(Civ5).png diff --git a/android/assets/ResourceIcons/Spices_(Civ5).png b/android/assets/Images/ResourceIcons/Spices_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Spices_(Civ5).png rename to android/assets/Images/ResourceIcons/Spices_(Civ5).png diff --git a/android/assets/ResourceIcons/Stone_(Civ5).png b/android/assets/Images/ResourceIcons/Stone_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Stone_(Civ5).png rename to android/assets/Images/ResourceIcons/Stone_(Civ5).png diff --git a/android/assets/ResourceIcons/Sugar_(Civ5).png b/android/assets/Images/ResourceIcons/Sugar_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Sugar_(Civ5).png rename to android/assets/Images/ResourceIcons/Sugar_(Civ5).png diff --git a/android/assets/ResourceIcons/Uranium_(Civ5).png b/android/assets/Images/ResourceIcons/Uranium_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Uranium_(Civ5).png rename to android/assets/Images/ResourceIcons/Uranium_(Civ5).png diff --git a/android/assets/ResourceIcons/Wheat_(Civ5).png b/android/assets/Images/ResourceIcons/Wheat_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Wheat_(Civ5).png rename to android/assets/Images/ResourceIcons/Wheat_(Civ5).png diff --git a/android/assets/ResourceIcons/Wine_(Civ5).png b/android/assets/Images/ResourceIcons/Wine_(Civ5).png similarity index 100% rename from android/assets/ResourceIcons/Wine_(Civ5).png rename to android/assets/Images/ResourceIcons/Wine_(Civ5).png diff --git a/android/assets/StatIcons/20xCityConnection5.png b/android/assets/Images/StatIcons/20xCityConnection5.png similarity index 100% rename from android/assets/StatIcons/20xCityConnection5.png rename to android/assets/Images/StatIcons/20xCityConnection5.png diff --git a/android/assets/StatIcons/20xCulture5.png b/android/assets/Images/StatIcons/20xCulture5.png similarity index 100% rename from android/assets/StatIcons/20xCulture5.png rename to android/assets/Images/StatIcons/20xCulture5.png diff --git a/android/assets/StatIcons/20xFood5.png b/android/assets/Images/StatIcons/20xFood5.png similarity index 100% rename from android/assets/StatIcons/20xFood5.png rename to android/assets/Images/StatIcons/20xFood5.png diff --git a/android/assets/StatIcons/20xGold5.png b/android/assets/Images/StatIcons/20xGold5.png similarity index 100% rename from android/assets/StatIcons/20xGold5.png rename to android/assets/Images/StatIcons/20xGold5.png diff --git a/android/assets/StatIcons/20xHappiness5.png b/android/assets/Images/StatIcons/20xHappiness5.png similarity index 100% rename from android/assets/StatIcons/20xHappiness5.png rename to android/assets/Images/StatIcons/20xHappiness5.png diff --git a/android/assets/StatIcons/20xMalcontent5.png b/android/assets/Images/StatIcons/20xMalcontent5.png similarity index 100% rename from android/assets/StatIcons/20xMalcontent5.png rename to android/assets/Images/StatIcons/20xMalcontent5.png diff --git a/android/assets/StatIcons/20xMovement5.png b/android/assets/Images/StatIcons/20xMovement5.png similarity index 100% rename from android/assets/StatIcons/20xMovement5.png rename to android/assets/Images/StatIcons/20xMovement5.png diff --git a/android/assets/StatIcons/20xPopulation5.png b/android/assets/Images/StatIcons/20xPopulation5.png similarity index 100% rename from android/assets/StatIcons/20xPopulation5.png rename to android/assets/Images/StatIcons/20xPopulation5.png diff --git a/android/assets/StatIcons/20xProduction5.png b/android/assets/Images/StatIcons/20xProduction5.png similarity index 100% rename from android/assets/StatIcons/20xProduction5.png rename to android/assets/Images/StatIcons/20xProduction5.png diff --git a/android/assets/StatIcons/20xRangedStrength5.png b/android/assets/Images/StatIcons/20xRangedStrength5.png similarity index 100% rename from android/assets/StatIcons/20xRangedStrength5.png rename to android/assets/Images/StatIcons/20xRangedStrength5.png diff --git a/android/assets/StatIcons/20xScience5.png b/android/assets/Images/StatIcons/20xScience5.png similarity index 100% rename from android/assets/StatIcons/20xScience5.png rename to android/assets/Images/StatIcons/20xScience5.png diff --git a/android/assets/StatIcons/20xStrength5.png b/android/assets/Images/StatIcons/20xStrength5.png similarity index 100% rename from android/assets/StatIcons/20xStrength5.png rename to android/assets/Images/StatIcons/20xStrength5.png diff --git a/android/assets/StatIcons/City_Center_(Civ6).png b/android/assets/Images/StatIcons/City_Center_(Civ6).png similarity index 100% rename from android/assets/StatIcons/City_Center_(Civ6).png rename to android/assets/Images/StatIcons/City_Center_(Civ6).png diff --git a/android/assets/StatIcons/CultureSpecialist.png b/android/assets/Images/StatIcons/CultureSpecialist.png similarity index 100% rename from android/assets/StatIcons/CultureSpecialist.png rename to android/assets/Images/StatIcons/CultureSpecialist.png diff --git a/android/assets/StatIcons/GoldSpecialist.png b/android/assets/Images/StatIcons/GoldSpecialist.png similarity index 100% rename from android/assets/StatIcons/GoldSpecialist.png rename to android/assets/Images/StatIcons/GoldSpecialist.png diff --git a/android/assets/StatIcons/ProductionSpecialist.png b/android/assets/Images/StatIcons/ProductionSpecialist.png similarity index 100% rename from android/assets/StatIcons/ProductionSpecialist.png rename to android/assets/Images/StatIcons/ProductionSpecialist.png diff --git a/android/assets/StatIcons/ScienceSpecialist.png b/android/assets/Images/StatIcons/ScienceSpecialist.png similarity index 100% rename from android/assets/StatIcons/ScienceSpecialist.png rename to android/assets/Images/StatIcons/ScienceSpecialist.png diff --git a/android/assets/StatIcons/populationGray.png b/android/assets/Images/StatIcons/populationGray.png similarity index 100% rename from android/assets/StatIcons/populationGray.png rename to android/assets/Images/StatIcons/populationGray.png diff --git a/android/assets/StatIcons/populationGreen.png b/android/assets/Images/StatIcons/populationGreen.png similarity index 100% rename from android/assets/StatIcons/populationGreen.png rename to android/assets/Images/StatIcons/populationGreen.png diff --git a/android/assets/TerrainIcons/Flood plains.png b/android/assets/Images/TerrainIcons/Flood plains.png similarity index 100% rename from android/assets/TerrainIcons/Flood plains.png rename to android/assets/Images/TerrainIcons/Flood plains.png diff --git a/android/assets/TerrainIcons/Fog.png b/android/assets/Images/TerrainIcons/Fog.png similarity index 100% rename from android/assets/TerrainIcons/Fog.png rename to android/assets/Images/TerrainIcons/Fog.png diff --git a/android/assets/TerrainIcons/Forest.png b/android/assets/Images/TerrainIcons/Forest.png similarity index 100% rename from android/assets/TerrainIcons/Forest.png rename to android/assets/Images/TerrainIcons/Forest.png diff --git a/android/assets/Images/TerrainIcons/Hexagon.png b/android/assets/Images/TerrainIcons/Hexagon.png new file mode 100644 index 0000000000..f255154d40 Binary files /dev/null and b/android/assets/Images/TerrainIcons/Hexagon.png differ diff --git a/android/assets/TerrainIcons/Jungle.png b/android/assets/Images/TerrainIcons/Jungle.png similarity index 100% rename from android/assets/TerrainIcons/Jungle.png rename to android/assets/Images/TerrainIcons/Jungle.png diff --git a/android/assets/TerrainIcons/Marsh.png b/android/assets/Images/TerrainIcons/Marsh.png similarity index 100% rename from android/assets/TerrainIcons/Marsh.png rename to android/assets/Images/TerrainIcons/Marsh.png diff --git a/android/assets/TerrainIcons/Oasis.png b/android/assets/Images/TerrainIcons/Oasis.png similarity index 100% rename from android/assets/TerrainIcons/Oasis.png rename to android/assets/Images/TerrainIcons/Oasis.png diff --git a/android/assets/TerrainIcons/road.png b/android/assets/Images/TerrainIcons/road.png similarity index 100% rename from android/assets/TerrainIcons/road.png rename to android/assets/Images/TerrainIcons/road.png diff --git a/android/assets/UnitIcons/Archer.png b/android/assets/Images/UnitIcons/Archer.png similarity index 100% rename from android/assets/UnitIcons/Archer.png rename to android/assets/Images/UnitIcons/Archer.png diff --git a/android/assets/UnitIcons/Artillery.png b/android/assets/Images/UnitIcons/Artillery.png similarity index 100% rename from android/assets/UnitIcons/Artillery.png rename to android/assets/Images/UnitIcons/Artillery.png diff --git a/android/assets/UnitIcons/Bowman.png b/android/assets/Images/UnitIcons/Bowman.png similarity index 100% rename from android/assets/UnitIcons/Bowman.png rename to android/assets/Images/UnitIcons/Bowman.png diff --git a/android/assets/UnitIcons/Cannon.png b/android/assets/Images/UnitIcons/Cannon.png similarity index 100% rename from android/assets/UnitIcons/Cannon.png rename to android/assets/Images/UnitIcons/Cannon.png diff --git a/android/assets/UnitIcons/Catapult.png b/android/assets/Images/UnitIcons/Catapult.png similarity index 100% rename from android/assets/UnitIcons/Catapult.png rename to android/assets/Images/UnitIcons/Catapult.png diff --git a/android/assets/UnitIcons/Cavalry.png b/android/assets/Images/UnitIcons/Cavalry.png similarity index 100% rename from android/assets/UnitIcons/Cavalry.png rename to android/assets/Images/UnitIcons/Cavalry.png diff --git a/android/assets/UnitIcons/Chariot Archer.png b/android/assets/Images/UnitIcons/Chariot Archer.png similarity index 100% rename from android/assets/UnitIcons/Chariot Archer.png rename to android/assets/Images/UnitIcons/Chariot Archer.png diff --git a/android/assets/UnitIcons/Companion Cavalry.png b/android/assets/Images/UnitIcons/Companion Cavalry.png similarity index 100% rename from android/assets/UnitIcons/Companion Cavalry.png rename to android/assets/Images/UnitIcons/Companion Cavalry.png diff --git a/android/assets/UnitIcons/Crossbowman.png b/android/assets/Images/UnitIcons/Crossbowman.png similarity index 100% rename from android/assets/UnitIcons/Crossbowman.png rename to android/assets/Images/UnitIcons/Crossbowman.png diff --git a/android/assets/UnitIcons/Great Artist.png b/android/assets/Images/UnitIcons/Great Artist.png similarity index 100% rename from android/assets/UnitIcons/Great Artist.png rename to android/assets/Images/UnitIcons/Great Artist.png diff --git a/android/assets/UnitIcons/Great Engineer.png b/android/assets/Images/UnitIcons/Great Engineer.png similarity index 100% rename from android/assets/UnitIcons/Great Engineer.png rename to android/assets/Images/UnitIcons/Great Engineer.png diff --git a/android/assets/UnitIcons/Great Merchant.png b/android/assets/Images/UnitIcons/Great Merchant.png similarity index 100% rename from android/assets/UnitIcons/Great Merchant.png rename to android/assets/Images/UnitIcons/Great Merchant.png diff --git a/android/assets/UnitIcons/Great Scientist.png b/android/assets/Images/UnitIcons/Great Scientist.png similarity index 100% rename from android/assets/UnitIcons/Great Scientist.png rename to android/assets/Images/UnitIcons/Great Scientist.png diff --git a/android/assets/UnitIcons/Horseman.png b/android/assets/Images/UnitIcons/Horseman.png similarity index 100% rename from android/assets/UnitIcons/Horseman.png rename to android/assets/Images/UnitIcons/Horseman.png diff --git a/android/assets/UnitIcons/Knight.png b/android/assets/Images/UnitIcons/Knight.png similarity index 100% rename from android/assets/UnitIcons/Knight.png rename to android/assets/Images/UnitIcons/Knight.png diff --git a/android/assets/UnitIcons/Lancer.png b/android/assets/Images/UnitIcons/Lancer.png similarity index 100% rename from android/assets/UnitIcons/Lancer.png rename to android/assets/Images/UnitIcons/Lancer.png diff --git a/android/assets/UnitIcons/Longbowman.png b/android/assets/Images/UnitIcons/Longbowman.png similarity index 100% rename from android/assets/UnitIcons/Longbowman.png rename to android/assets/Images/UnitIcons/Longbowman.png diff --git a/android/assets/UnitIcons/Longswordsman.png b/android/assets/Images/UnitIcons/Longswordsman.png similarity index 100% rename from android/assets/UnitIcons/Longswordsman.png rename to android/assets/Images/UnitIcons/Longswordsman.png diff --git a/android/assets/UnitIcons/Musketman.png b/android/assets/Images/UnitIcons/Musketman.png similarity index 100% rename from android/assets/UnitIcons/Musketman.png rename to android/assets/Images/UnitIcons/Musketman.png diff --git a/android/assets/UnitIcons/Pikeman.png b/android/assets/Images/UnitIcons/Pikeman.png similarity index 100% rename from android/assets/UnitIcons/Pikeman.png rename to android/assets/Images/UnitIcons/Pikeman.png diff --git a/android/assets/UnitIcons/Rifleman.png b/android/assets/Images/UnitIcons/Rifleman.png similarity index 100% rename from android/assets/UnitIcons/Rifleman.png rename to android/assets/Images/UnitIcons/Rifleman.png diff --git a/android/assets/UnitIcons/Scout.png b/android/assets/Images/UnitIcons/Scout.png similarity index 100% rename from android/assets/UnitIcons/Scout.png rename to android/assets/Images/UnitIcons/Scout.png diff --git a/android/assets/UnitIcons/Settler.png b/android/assets/Images/UnitIcons/Settler.png similarity index 100% rename from android/assets/UnitIcons/Settler.png rename to android/assets/Images/UnitIcons/Settler.png diff --git a/android/assets/UnitIcons/Spearman.png b/android/assets/Images/UnitIcons/Spearman.png similarity index 100% rename from android/assets/UnitIcons/Spearman.png rename to android/assets/Images/UnitIcons/Spearman.png diff --git a/android/assets/UnitIcons/Swordsman.png b/android/assets/Images/UnitIcons/Swordsman.png similarity index 100% rename from android/assets/UnitIcons/Swordsman.png rename to android/assets/Images/UnitIcons/Swordsman.png diff --git a/android/assets/UnitIcons/Trebuchet.png b/android/assets/Images/UnitIcons/Trebuchet.png similarity index 100% rename from android/assets/UnitIcons/Trebuchet.png rename to android/assets/Images/UnitIcons/Trebuchet.png diff --git a/android/assets/UnitIcons/Warrior.png b/android/assets/Images/UnitIcons/Warrior.png similarity index 100% rename from android/assets/UnitIcons/Warrior.png rename to android/assets/Images/UnitIcons/Warrior.png diff --git a/android/assets/UnitIcons/Worker.png b/android/assets/Images/UnitIcons/Worker.png similarity index 100% rename from android/assets/UnitIcons/Worker.png rename to android/assets/Images/UnitIcons/Worker.png diff --git a/android/assets/UnitPromotionIcons/Accuracy_III_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Accuracy_III_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Accuracy_III_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Accuracy_III_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Accuracy_II_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Accuracy_II_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Accuracy_II_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Accuracy_II_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Accuracy_I_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Accuracy_I_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Accuracy_I_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Accuracy_I_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Barrage_III_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Barrage_III_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Barrage_III_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Barrage_III_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Barrage_II_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Barrage_II_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Barrage_II_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Barrage_II_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Barrage_I_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Barrage_I_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Barrage_I_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Barrage_I_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Charge_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Charge_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Charge_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Charge_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Cover_II_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Cover_II_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Cover_II_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Cover_II_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Cover_I_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Cover_I_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Cover_I_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Cover_I_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Drill_III_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Drill_III_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Drill_III_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Drill_III_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Drill_II_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Drill_II_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Drill_II_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Drill_II_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Drill_I_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Drill_I_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Drill_I_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Drill_I_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/March_(Civ5).png b/android/assets/Images/UnitPromotionIcons/March_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/March_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/March_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Scouting_III_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Scouting_III_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Scouting_III_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Scouting_III_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Scouting_II_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Scouting_II_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Scouting_II_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Scouting_II_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Scouting_I_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Scouting_I_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Scouting_I_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Scouting_I_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Shock_III_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Shock_III_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Shock_III_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Shock_III_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Shock_II_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Shock_II_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Shock_II_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Shock_II_(Civ5).png diff --git a/android/assets/UnitPromotionIcons/Shock_I_(Civ5).png b/android/assets/Images/UnitPromotionIcons/Shock_I_(Civ5).png similarity index 100% rename from android/assets/UnitPromotionIcons/Shock_I_(Civ5).png rename to android/assets/Images/UnitPromotionIcons/Shock_I_(Civ5).png diff --git a/android/assets/Images/game.atlas b/android/assets/Images/game.atlas new file mode 100644 index 0000000000..7251bf9ddd --- /dev/null +++ b/android/assets/Images/game.atlas @@ -0,0 +1,1161 @@ + +game.png +size: 2048,2048 +format: RGBA8888 +filter: MipMapLinearLinear,MipMapLinearLinear +repeat: none +FlagIcons/Dutch + rotate: false + xy: 1178, 1501 + size: 128, 128 + orig: 128, 128 + offset: 0, 0 + index: -1 +FlagIcons/English + rotate: false + xy: 810, 955 + size: 128, 128 + orig: 128, 128 + offset: 0, 0 + index: -1 +FlagIcons/French + rotate: false + xy: 994, 1181 + size: 128, 128 + orig: 128, 128 + offset: 0, 0 + index: -1 +FlagIcons/German + rotate: false + xy: 1308, 1501 + size: 128, 128 + orig: 128, 128 + offset: 0, 0 + index: -1 +FlagIcons/Italian + rotate: false + xy: 810, 825 + size: 128, 128 + orig: 128, 128 + offset: 0, 0 + index: -1 +FlagIcons/Romanian + rotate: false + xy: 1568, 1501 + size: 128, 128 + orig: 128, 128 + offset: 0, 0 + index: -1 +FlagIcons/Russian + rotate: false + xy: 1698, 1501 + size: 128, 128 + orig: 128, 128 + offset: 0, 0 + index: -1 +FlagIcons/Spanish + rotate: false + xy: 1828, 1501 + size: 128, 128 + orig: 128, 128 + offset: 0, 0 + index: -1 +ImprovementIcons/Academy_(Civ5) + rotate: false + xy: 406, 119 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Camp_(Civ5) + rotate: false + xy: 719, 1592 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Customs_house_(Civ5) + rotate: false + xy: 994, 1135 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Farm_(Civ5) + rotate: false + xy: 2, 2 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Landmark_(Civ5) + rotate: false + xy: 940, 993 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Lumber_mill_(Civ5) + rotate: false + xy: 994, 1089 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Manufactory_(Civ5) + rotate: false + xy: 1040, 1135 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Mine_(Civ5) + rotate: false + xy: 1958, 1539 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Oil_well_(Civ5) + rotate: false + xy: 1962, 1894 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Pasture_(Civ5) + rotate: false + xy: 498, 119 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Plantation_(Civ5) + rotate: false + xy: 700, 175 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Quarry_(Civ5) + rotate: false + xy: 1132, 1311 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Railroad_(Civ5) + rotate: false + xy: 1124, 1265 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Road_(Civ5) + rotate: false + xy: 1178, 1363 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ImprovementIcons/Trading_post_(Civ5) + rotate: false + xy: 544, 119 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +OtherIcons/Circle + rotate: false + xy: 1154, 1833 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +OtherIcons/City + rotate: false + xy: 2, 702 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +OtherIcons/Crosshair + rotate: false + xy: 1558, 1833 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +OtherIcons/DisbandUnit + rotate: false + xy: 2, 298 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +OtherIcons/Fire + rotate: false + xy: 1760, 1833 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +OtherIcons/MenuIcon + rotate: false + xy: 1438, 1501 + size: 128, 128 + orig: 128, 128 + offset: 0, 0 + index: -1 +OtherIcons/Railroad + rotate: false + xy: 406, 1377 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +OtherIcons/Shield + rotate: false + xy: 406, 569 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +OtherIcons/Star + rotate: false + xy: 673, 1638 + size: 150, 141 + orig: 150, 141 + offset: 0, 0 + index: -1 +OtherIcons/Stop + rotate: false + xy: 406, 165 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +OtherIcons/civTableBackground + rotate: false + xy: 548, 1781 + size: 300, 50 + orig: 300, 50 + offset: 0, 0 + index: -1 +OtherIcons/tileTableBackground + rotate: false + xy: 1860, 1631 + size: 180, 200 + orig: 180, 200 + offset: 0, 0 + index: -1 +OtherIcons/whiteDot + rotate: false + xy: 847, 1778 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +PolicyIcons/Aristocracy_(Civ5) + rotate: false + xy: 940, 855 + size: 28, 27 + orig: 28, 27 + offset: 0, 0 + index: -1 +PolicyIcons/Citizenship_(Civ5) + rotate: false + xy: 1224, 1374 + size: 28, 33 + orig: 28, 33 + offset: 0, 0 + index: -1 +PolicyIcons/Civil_Society_(Civ5) + rotate: false + xy: 1316, 1468 + size: 28, 31 + orig: 28, 31 + offset: 0, 0 + index: -1 +PolicyIcons/Collective_Rule_(Civ5) + rotate: false + xy: 940, 914 + size: 28, 31 + orig: 28, 31 + offset: 0, 0 + index: -1 +PolicyIcons/Constitution_(Civ5) + rotate: false + xy: 252, 67 + size: 28, 27 + orig: 28, 27 + offset: 0, 0 + index: -1 +PolicyIcons/Democracy_(Civ5) + rotate: false + xy: 2004, 1549 + size: 28, 30 + orig: 28, 30 + offset: 0, 0 + index: -1 +PolicyIcons/Entrepreneurship_(Civ5) + rotate: false + xy: 1962, 1986 + size: 45, 47 + orig: 45, 47 + offset: 0, 0 + index: -1 +PolicyIcons/Free_Religion_(Civ5) + rotate: false + xy: 1086, 1112 + size: 28, 29 + orig: 28, 29 + offset: 0, 0 + index: -1 +PolicyIcons/Free_Speech_(Civ5) + rotate: false + xy: 1086, 1143 + size: 28, 36 + orig: 28, 36 + offset: 0, 0 + index: -1 +PolicyIcons/Free_Thought_(Civ5) + rotate: false + xy: 1346, 1471 + size: 28, 28 + orig: 28, 28 + offset: 0, 0 + index: -1 +PolicyIcons/Humanism_(Civ5) + rotate: false + xy: 1406, 1472 + size: 28, 27 + orig: 28, 27 + offset: 0, 0 + index: -1 +PolicyIcons/Landed_Elite_(Civ5) + rotate: false + xy: 192, 63 + size: 28, 31 + orig: 28, 31 + offset: 0, 0 + index: -1 +PolicyIcons/Legalism_(Civ5) + rotate: false + xy: 940, 884 + size: 28, 28 + orig: 28, 28 + offset: 0, 0 + index: -1 +PolicyIcons/Mandate_Of_Heaven_(Civ5) + rotate: false + xy: 1958, 1502 + size: 28, 35 + orig: 28, 35 + offset: 0, 0 + index: -1 +PolicyIcons/Mercantilism_(Civ5) + rotate: false + xy: 2009, 1996 + size: 28, 37 + orig: 28, 37 + offset: 0, 0 + index: -1 +PolicyIcons/Meritocracy_(Civ5) + rotate: false + xy: 940, 826 + size: 28, 27 + orig: 28, 27 + offset: 0, 0 + index: -1 +PolicyIcons/Monarchy_(Civ5) + rotate: false + xy: 902, 787 + size: 28, 36 + orig: 28, 36 + offset: 0, 0 + index: -1 +PolicyIcons/Oligarchy_(Civ5) + rotate: false + xy: 1270, 1421 + size: 28, 32 + orig: 28, 32 + offset: 0, 0 + index: -1 +PolicyIcons/Organized_Religion_(Civ5) + rotate: false + xy: 1224, 1317 + size: 28, 24 + orig: 28, 24 + offset: 0, 0 + index: -1 +PolicyIcons/Patronage_(Civ5) + rotate: false + xy: 2, 48 + size: 50, 46 + orig: 50, 46 + offset: 0, 0 + index: -1 +PolicyIcons/Protectionism_(Civ5) + rotate: false + xy: 282, 68 + size: 28, 26 + orig: 28, 26 + offset: 0, 0 + index: -1 +PolicyIcons/Reformation_(Civ5) + rotate: false + xy: 222, 66 + size: 28, 28 + orig: 28, 28 + offset: 0, 0 + index: -1 +PolicyIcons/Representation_(Civ5) + rotate: false + xy: 1124, 1186 + size: 28, 31 + orig: 28, 31 + offset: 0, 0 + index: -1 +PolicyIcons/Republic_(Civ5) + rotate: false + xy: 1436, 1473 + size: 28, 26 + orig: 28, 26 + offset: 0, 0 + index: -1 +PolicyIcons/Scientific_Revolution_(Civ5) + rotate: false + xy: 312, 68 + size: 28, 26 + orig: 28, 26 + offset: 0, 0 + index: -1 +PolicyIcons/Secularism_(Civ5) + rotate: false + xy: 1224, 1343 + size: 28, 29 + orig: 28, 29 + offset: 0, 0 + index: -1 +PolicyIcons/Sovereignty_(Civ5) + rotate: false + xy: 1466, 1474 + size: 28, 25 + orig: 28, 25 + offset: 0, 0 + index: -1 +PolicyIcons/Theocracy_(Civ5) + rotate: false + xy: 765, 1599 + size: 28, 37 + orig: 28, 37 + offset: 0, 0 + index: -1 +PolicyIcons/Trade_Unions_(Civ5) + rotate: false + xy: 1376, 1471 + size: 28, 28 + orig: 28, 28 + offset: 0, 0 + index: -1 +PolicyIcons/Universal_Suffrage_(Civ5) + rotate: false + xy: 2004, 1581 + size: 28, 48 + orig: 28, 48 + offset: 0, 0 + index: -1 +ResourceIcons/Aluminum_(Civ5) + rotate: false + xy: 608, 175 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Bananas_(Civ5) + rotate: false + xy: 673, 1592 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Cattle_(Civ5) + rotate: false + xy: 1132, 1403 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Coal_(Civ5) + rotate: false + xy: 1178, 1455 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Cotton_(Civ5) + rotate: false + xy: 940, 1039 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Deer_(Civ5) + rotate: false + xy: 810, 779 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Dyes_(Civ5) + rotate: false + xy: 1958, 1585 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Furs_(Civ5) + rotate: false + xy: 54, 50 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Gems_(Civ5) + rotate: false + xy: 1962, 1940 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Gold_(Civ5) + rotate: false + xy: 452, 119 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Horses_(Civ5) + rotate: false + xy: 654, 175 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Incense_(Civ5) + rotate: false + xy: 1132, 1357 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Iron_(Civ5) + rotate: false + xy: 1178, 1409 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Ivory_(Civ5) + rotate: false + xy: 1224, 1455 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Marble_(Civ5) + rotate: false + xy: 856, 779 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Oil_(Civ5) + rotate: false + xy: 100, 50 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Sheep_(Civ5) + rotate: false + xy: 1224, 1409 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Silk_(Civ5) + rotate: false + xy: 1270, 1455 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Silver_(Civ5) + rotate: false + xy: 940, 947 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Spices_(Civ5) + rotate: false + xy: 1040, 1089 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Stone_(Civ5) + rotate: false + xy: 146, 50 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Sugar_(Civ5) + rotate: false + xy: 1962, 1848 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Uranium_(Civ5) + rotate: false + xy: 746, 175 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Wheat_(Civ5) + rotate: false + xy: 1124, 1219 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +ResourceIcons/Wine_(Civ5) + rotate: false + xy: 1178, 1317 + size: 44, 44 + orig: 44, 44 + offset: 0, 0 + index: -1 +StatIcons/20xCityConnection5 + rotate: false + xy: 825, 1759 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +StatIcons/20xCulture5 + rotate: false + xy: 406, 97 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +StatIcons/20xFood5 + rotate: false + xy: 1086, 1090 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +StatIcons/20xGold5 + rotate: false + xy: 342, 74 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +StatIcons/20xHappiness5 + rotate: false + xy: 1496, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +StatIcons/20xMalcontent5 + rotate: false + xy: 825, 1737 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +StatIcons/20xMovement5 + rotate: false + xy: 428, 97 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +StatIcons/20xPopulation5 + rotate: false + xy: 364, 74 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +StatIcons/20xProduction5 + rotate: false + xy: 1518, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +StatIcons/20xRangedStrength5 + rotate: false + xy: 825, 1715 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +StatIcons/20xScience5 + rotate: false + xy: 450, 97 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +StatIcons/20xStrength5 + rotate: false + xy: 1540, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +StatIcons/City_Center_(Civ6) + rotate: false + xy: 2, 1768 + size: 265, 265 + orig: 265, 265 + offset: 0, 0 + index: -1 +StatIcons/CultureSpecialist + rotate: false + xy: 608, 403 + size: 182, 180 + orig: 182, 180 + offset: 0, 0 + index: -1 +StatIcons/GoldSpecialist + rotate: false + xy: 608, 221 + size: 182, 180 + orig: 182, 180 + offset: 0, 0 + index: -1 +StatIcons/ProductionSpecialist + rotate: false + xy: 810, 1449 + size: 182, 180 + orig: 182, 180 + offset: 0, 0 + index: -1 +StatIcons/ScienceSpecialist + rotate: false + xy: 810, 1267 + size: 182, 180 + orig: 182, 180 + offset: 0, 0 + index: -1 +StatIcons/populationGray + rotate: false + xy: 994, 1449 + size: 182, 180 + orig: 182, 180 + offset: 0, 0 + index: -1 +StatIcons/populationGreen + rotate: false + xy: 810, 1085 + size: 182, 180 + orig: 182, 180 + offset: 0, 0 + index: -1 +TerrainIcons/Flood plains + rotate: false + xy: 2, 96 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +TerrainIcons/Fog + rotate: false + xy: 2, 1510 + size: 256, 256 + orig: 256, 256 + offset: 0, 0 + index: -1 +TerrainIcons/Forest + rotate: false + xy: 204, 1308 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +TerrainIcons/Hexagon + rotate: false + xy: 269, 1793 + size: 277, 240 + orig: 277, 240 + offset: 0, 0 + index: -1 +TerrainIcons/Jungle + rotate: false + xy: 204, 96 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +TerrainIcons/Marsh + rotate: false + xy: 1658, 1631 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +TerrainIcons/Oasis + rotate: false + xy: 269, 1591 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +TerrainIcons/road + rotate: false + xy: 673, 1579 + size: 61, 11 + orig: 61, 11 + offset: 0, 0 + index: -1 +UnitIcons/Archer + rotate: false + xy: 548, 1833 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Artillery + rotate: false + xy: 2, 1308 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Bowman + rotate: false + xy: 750, 1833 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Cannon + rotate: false + xy: 2, 1106 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Catapult + rotate: false + xy: 952, 1833 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Cavalry + rotate: false + xy: 2, 904 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Chariot Archer + rotate: false + xy: 994, 1311 + size: 136, 136 + orig: 136, 136 + offset: 0, 0 + index: -1 +UnitIcons/Companion Cavalry + rotate: false + xy: 1356, 1833 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Crossbowman + rotate: false + xy: 2, 500 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Great Artist + rotate: false + xy: 204, 1106 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Great Engineer + rotate: false + xy: 204, 904 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Great Merchant + rotate: false + xy: 204, 702 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Great Scientist + rotate: false + xy: 204, 500 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Horseman + rotate: false + xy: 204, 298 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Knight + rotate: false + xy: 850, 1631 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Lancer + rotate: false + xy: 1052, 1631 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Longbowman + rotate: false + xy: 1254, 1631 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Longswordsman + rotate: false + xy: 1456, 1631 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Musketman + rotate: false + xy: 608, 585 + size: 185, 184 + orig: 185, 184 + offset: 0, 0 + index: -1 +UnitIcons/Pikeman + rotate: false + xy: 471, 1579 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Rifleman + rotate: false + xy: 406, 1175 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Scout + rotate: false + xy: 406, 973 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Settler + rotate: false + xy: 406, 771 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Spearman + rotate: false + xy: 406, 367 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Swordsman + rotate: false + xy: 608, 1377 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Trebuchet + rotate: false + xy: 608, 1175 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Warrior + rotate: false + xy: 608, 973 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitIcons/Worker + rotate: false + xy: 608, 771 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Accuracy_III_(Civ5) + rotate: false + xy: 825, 1693 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Accuracy_II_(Civ5) + rotate: false + xy: 472, 97 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Accuracy_I_(Civ5) + rotate: false + xy: 1562, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Barrage_III_(Civ5) + rotate: false + xy: 825, 1671 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Barrage_II_(Civ5) + rotate: false + xy: 494, 97 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Barrage_I_(Civ5) + rotate: false + xy: 1584, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Charge_(Civ5) + rotate: false + xy: 825, 1649 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Cover_II_(Civ5) + rotate: false + xy: 516, 97 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Cover_I_(Civ5) + rotate: false + xy: 1606, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Drill_III_(Civ5) + rotate: false + xy: 538, 97 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Drill_II_(Civ5) + rotate: false + xy: 1628, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Drill_I_(Civ5) + rotate: false + xy: 560, 97 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/March_(Civ5) + rotate: false + xy: 1650, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Scouting_III_(Civ5) + rotate: false + xy: 1672, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Scouting_II_(Civ5) + rotate: false + xy: 1694, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Scouting_I_(Civ5) + rotate: false + xy: 1716, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Shock_III_(Civ5) + rotate: false + xy: 1738, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Shock_II_(Civ5) + rotate: false + xy: 1760, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Shock_I_(Civ5) + rotate: false + xy: 1782, 1479 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 diff --git a/android/assets/Images/game.png b/android/assets/Images/game.png new file mode 100644 index 0000000000..8c6fea71a7 Binary files /dev/null and b/android/assets/Images/game.png differ diff --git a/android/assets/OtherIcons/Circle.png b/android/assets/OtherIcons/Circle.png deleted file mode 100644 index ccc3e10544..0000000000 Binary files a/android/assets/OtherIcons/Circle.png and /dev/null differ diff --git a/android/assets/OtherIcons/Star.png b/android/assets/OtherIcons/Star.png deleted file mode 100644 index 0a1c8f6f66..0000000000 Binary files a/android/assets/OtherIcons/Star.png and /dev/null differ diff --git a/android/assets/TerrainIcons/Hexagon.png b/android/assets/TerrainIcons/Hexagon.png deleted file mode 100644 index 888babbc07..0000000000 Binary files a/android/assets/TerrainIcons/Hexagon.png and /dev/null differ diff --git a/android/assets/jsons/Civilizations.json b/android/assets/jsons/Nations.json similarity index 100% rename from android/assets/jsons/Civilizations.json rename to android/assets/jsons/Nations.json diff --git a/android/assets/jsons/Translations.json b/android/assets/jsons/Translations.json index 38eccc091f..0967272f61 100644 --- a/android/assets/jsons/Translations.json +++ b/android/assets/jsons/Translations.json @@ -2639,6 +2639,8 @@ Russian:"Объявить войну" } + "[civName] has declared war on us!":{} + // Overview screen "Overview":{ Italian:"Panoramica" diff --git a/android/assets/jsons/Tutorials_English.json b/android/assets/jsons/Tutorials_English.json index a8df739580..99f91692c9 100644 --- a/android/assets/jsons/Tutorials_English.json +++ b/android/assets/jsons/Tutorials_English.json @@ -235,4 +235,39 @@ ] ] + EnemyCityNeedsConqueringWithMeleeUnit: [ + [ + "The city can no longer put up any resistance!", + "However, to conquer it, you must enter the city with a melee unit" + ] + ] + + BarbarianEncountered: [ + [ + "You have encountered a barbarian unit!", + "Barbarians attack everyone indiscriminately, so don't let your ", + " civilian units go near them, and be careful of your scout!" + ] + ] + + OtherCivEncountered: [ + [ + "You have encountered another civilization!", + "Other civilizations start out peaceful, and you can trade with them,", + " but they may choose to declare war on you later on" + ] + ] + + GameCrashed: [ + [ + "Oh no! It looks like something went DISASTROUSLY wrong!", + "This is ABSOLUTELY not supposed to happen!", + "Please send me (yairm210@hotmail.com) an email with the game information", + " (menu -> save game -> copy game info -> paste into email)", + " and I'll try to fix it as fast as I can!" + ] + ] + + + } diff --git a/android/assets/skin/menuIcon.png b/android/assets/skin/menuIcon.png deleted file mode 100644 index d614917560..0000000000 Binary files a/android/assets/skin/menuIcon.png and /dev/null differ diff --git a/android/build.gradle b/android/build.gradle index 4d570f7454..41de77409b 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -21,8 +21,8 @@ android { applicationId "com.unciv.game" minSdkVersion 14 targetSdkVersion 26 - versionCode 116 - versionName "2.7.4" + versionCode 117 + versionName "2.7.5" } buildTypes { release { diff --git a/build.gradle b/build.gradle index 224a122709..cc2a6e997c 100644 --- a/build.gradle +++ b/build.gradle @@ -53,8 +53,11 @@ project(":desktop") { compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion" compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop" compile "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-desktop" - + + compile "com.badlogicgames.gdx:gdx-tools:$gdxVersion" // This is for the TexturePacker class } + + } project(":android") { @@ -85,6 +88,7 @@ project(":android") { natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-arm64-v8a" natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86" natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86_64" + } } diff --git a/core/src/com/unciv/GameSettings.kt b/core/src/com/unciv/GameSettings.kt index 95dbb36bb4..b48d2ff239 100644 --- a/core/src/com/unciv/GameSettings.kt +++ b/core/src/com/unciv/GameSettings.kt @@ -8,6 +8,7 @@ class GameSettings { var language: String = "English" var resolution: String = "1050x700" var tutorialsShown = ArrayList() + var hasCrashedRecently = false fun save(){ GameSaver().setGeneralSettings(this) diff --git a/core/src/com/unciv/GameStarter.kt b/core/src/com/unciv/GameStarter.kt index 2f5b175bc0..e1bd537234 100644 --- a/core/src/com/unciv/GameStarter.kt +++ b/core/src/com/unciv/GameStarter.kt @@ -34,7 +34,7 @@ class GameStarter(){ val barbarianCivilization = CivilizationInfo() gameInfo.civilizations.add(barbarianCivilization)// second is barbarian civ - for (civname in GameBasics.Civilizations.keys.filterNot { it=="Barbarians" || it==civilization }.take(numberOfCivs)) { + for (civname in GameBasics.Nations.keys.filterNot { it=="Barbarians" || it==civilization }.take(numberOfCivs)) { if(freeTiles.isEmpty()) break // we can't add any more civs. val startingLocation = freeTiles.toList().getRandom().position val civ = CivilizationInfo(civname, startingLocation, gameInfo) diff --git a/core/src/com/unciv/logic/automation/UnitAutomation.kt b/core/src/com/unciv/logic/automation/UnitAutomation.kt index eed898d6e7..729ab81e02 100644 --- a/core/src/com/unciv/logic/automation/UnitAutomation.kt +++ b/core/src/com/unciv/logic/automation/UnitAutomation.kt @@ -107,11 +107,12 @@ class UnitAutomation{ // The >0.1 (instead of >0) solves a bug where you've moved 2/3 road tiles, // you come to move a third (distance is less that remaining movements), // and then later we round it off to a whole. - // So the poor unit thought it could attack from the tile, but when it comes to do so it has no moveement points! + // So the poor unit thought it could attack from the tile, but when it comes to do so it has no movement points! // Silly floats, basically val tilesToAttackFrom = distanceToTiles.filter { unit.currentMovement - it.value > 0.1 } .map { it.key } .filter { unit.canMoveTo(it) || it==unit.getTile() } + for(reachableTile in tilesToAttackFrom){ // tiles we'll still have energy after we reach there val tilesInAttackRange = if (unit.hasUnique("Indirect fire")) reachableTile.getTilesInDistance(rangeOfAttack) else reachableTile.getViewableTiles(rangeOfAttack) diff --git a/core/src/com/unciv/logic/city/CityConstructions.kt b/core/src/com/unciv/logic/city/CityConstructions.kt index c63c76384c..2688746fe2 100644 --- a/core/src/com/unciv/logic/city/CityConstructions.kt +++ b/core/src/com/unciv/logic/city/CityConstructions.kt @@ -146,7 +146,10 @@ class CityConstructions { fun purchaseBuilding(buildingName: String) { cityInfo.civInfo.gold -= getConstruction(buildingName).getGoldCost(cityInfo.civInfo.policies.adoptedPolicies) getConstruction(buildingName).postBuildEvent(this) - if (currentConstruction == buildingName) Automation().chooseNextConstruction(this) + if (currentConstruction == buildingName) { + currentConstruction="" + Automation().chooseNextConstruction(this) + } cityInfo.cityStats.update() } diff --git a/core/src/com/unciv/logic/city/CityInfo.kt b/core/src/com/unciv/logic/city/CityInfo.kt index cc2f453450..9bc4cde4fb 100644 --- a/core/src/com/unciv/logic/city/CityInfo.kt +++ b/core/src/com/unciv/logic/city/CityInfo.kt @@ -88,9 +88,9 @@ class CityInfo { // Since cities can be captures between civilizations, // we need to check which other cities exist globally and name accordingly val allExistingCityNames = civInfo.gameInfo.civilizations.flatMap { it.cities }.map { it.name }.toHashSet() - val probablyName = civInfo.getCivilization().cities.firstOrNull { !allExistingCityNames.contains(it) } + val probablyName = civInfo.getNation().cities.firstOrNull { !allExistingCityNames.contains(it) } if(probablyName!=null) name=probablyName - else name = civInfo.getCivilization().cities.map { "New $it" }.first { !allExistingCityNames.contains(it) } + else name = civInfo.getNation().cities.map { "New $it" }.first { !allExistingCityNames.contains(it) } this.location = cityLocation civInfo.cities.add(this) diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index 306fb2a6b3..1662e4958e 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -42,7 +42,7 @@ class CivilizationInfo { var exploredTiles = HashSet() fun getDifficulty() = GameBasics.Difficulties[difficulty]!! - fun getCivilization() = GameBasics.Civilizations[civName]!! + fun getNation() = GameBasics.Nations[civName]!! fun getCapital()=cities.first { it.isCapital() } diff --git a/core/src/com/unciv/logic/civilization/DiplomacyManager.kt b/core/src/com/unciv/logic/civilization/DiplomacyManager.kt index 85cae2d044..875b12c4de 100644 --- a/core/src/com/unciv/logic/civilization/DiplomacyManager.kt +++ b/core/src/com/unciv/logic/civilization/DiplomacyManager.kt @@ -83,6 +83,7 @@ class DiplomacyManager() { fun declareWar(){ diplomaticStatus = DiplomaticStatus.War otherCiv().diplomacy[civInfo.civName]!!.diplomaticStatus = DiplomaticStatus.War + otherCiv().addNotification("[civName] has declared war on us!",null, Color.RED) } fun turnsToPeaceTreaty(): Int { diff --git a/core/src/com/unciv/logic/map/UnitMovementAlgorithms.kt b/core/src/com/unciv/logic/map/UnitMovementAlgorithms.kt index 580ae49b8d..8471314e56 100644 --- a/core/src/com/unciv/logic/map/UnitMovementAlgorithms.kt +++ b/core/src/com/unciv/logic/map/UnitMovementAlgorithms.kt @@ -40,7 +40,7 @@ class UnitMovementAlgorithms(val unit:MapUnit) { val isOwnedByEnemy = neighborOwner!=null && neighborOwner!=unit.civInfo if ((isOwnedByEnemy && neighbor.isCityCenter())// Enemy city, || (neighbor.getUnits().isNotEmpty() && neighbor.getUnits().first().civInfo!=unit.civInfo) // Enemy unit - || (isOwnedByEnemy && !unit.civInfo.canEnterTiles(neighborOwner!!)) + || (isOwnedByEnemy && !unit.civInfo.canEnterTiles(neighborOwner!!)) // enemyTile ) totalDistanceToTile = unitMovement // Can't go here. // The reason that we don't just "return" is so that when calculating how to reach an enemy, diff --git a/core/src/com/unciv/models/gamebasics/GameBasics.kt b/core/src/com/unciv/models/gamebasics/GameBasics.kt index baac81ab93..e78485c63f 100644 --- a/core/src/com/unciv/models/gamebasics/GameBasics.kt +++ b/core/src/com/unciv/models/gamebasics/GameBasics.kt @@ -21,7 +21,7 @@ object GameBasics { val Helps = LinkedHashMap() val Units = LinkedHashMap() val UnitPromotions = LinkedHashMap() - val Civilizations = LinkedHashMap() + val Nations = LinkedHashMap() val PolicyBranches = LinkedHashMap() val Difficulties = LinkedHashMap() val Translations = Translations(Gdx.files.internal("jsons/Translations.json").readString()) @@ -47,7 +47,7 @@ object GameBasics { Units += createHashmap(getFromJson(Array::class.java, "Units")) UnitPromotions += createHashmap(getFromJson(Array::class.java, "UnitPromotions")) PolicyBranches += createHashmap(getFromJson(Array::class.java, "Policies")) - Civilizations += createHashmap(getFromJson(Array::class.java, "Civilizations")) + Nations += createHashmap(getFromJson(Array::class.java, "Nations")) Difficulties += createHashmap(getFromJson(Array::class.java, "Difficulties")) val techColumns = getFromJson(Array::class.java, "Techs") diff --git a/core/src/com/unciv/models/gamebasics/Civilization.kt b/core/src/com/unciv/models/gamebasics/Nation.kt similarity index 92% rename from core/src/com/unciv/models/gamebasics/Civilization.kt rename to core/src/com/unciv/models/gamebasics/Nation.kt index 6cd3f69ee3..eb09418c5d 100644 --- a/core/src/com/unciv/models/gamebasics/Civilization.kt +++ b/core/src/com/unciv/models/gamebasics/Nation.kt @@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.Color import com.unciv.models.stats.INamed import com.unciv.ui.utils.colorFromRGB -class Civilization : INamed { +class Nation : INamed { override lateinit var name: String lateinit var RGB: List fun getColor(): Color { diff --git a/core/src/com/unciv/ui/NewGameScreen.kt b/core/src/com/unciv/ui/NewGameScreen.kt index 3adc3a66e0..fe163c8d90 100644 --- a/core/src/com/unciv/ui/NewGameScreen.kt +++ b/core/src/com/unciv/ui/NewGameScreen.kt @@ -22,7 +22,7 @@ class NewGameScreen: PickerScreen(){ table.add("{Civilization}:".tr()) - val civSelectBox = TranslatedSelectBox(GameBasics.Civilizations.keys.filterNot { it=="Barbarians" }, + val civSelectBox = TranslatedSelectBox(GameBasics.Nations.keys.filterNot { it=="Barbarians" }, "Babylon",skin) table.add(civSelectBox).pad(10f).row() diff --git a/core/src/com/unciv/ui/cityscreen/CityScreen.kt b/core/src/com/unciv/ui/cityscreen/CityScreen.kt index 0a408d91c9..1aa7b17a1a 100644 --- a/core/src/com/unciv/ui/cityscreen/CityScreen.kt +++ b/core/src/com/unciv/ui/cityscreen/CityScreen.kt @@ -28,15 +28,13 @@ class CityScreen(internal val city: CityInfo) : CameraStageBaseScreen() { addTiles() stage.addActor(tileTable) - val tileTableBackground = com.unciv.ui.utils.ImageGetter.getDrawable("skin/tileTableBackground.png") - .tint(Color(0x0040804f)) - tileTableBackground.minHeight = 0f - tileTableBackground.minWidth = 0f - tileTable.background = tileTableBackground + + val tableBackgroundColor = ImageGetter.getBlue().lerp(Color.BLACK,0.5f) + tileTable.background = ImageGetter.getBackground(tableBackgroundColor) val buildingsTableContainer = Table() buildingsTableContainer.pad(20f) - buildingsTableContainer.background = tileTableBackground + buildingsTableContainer.background = ImageGetter.getBackground(tableBackgroundColor) buildingsTable.update() val buildingsScroll = ScrollPane(buildingsTable) buildingsTableContainer.add(buildingsScroll).height(stage.height / 2) @@ -45,7 +43,7 @@ class CityScreen(internal val city: CityInfo) : CameraStageBaseScreen() { buildingsTableContainer.setPosition(stage.width - buildingsTableContainer.width, stage.height - buildingsTableContainer.height) - cityStatsTable.background = tileTableBackground + cityStatsTable.background = ImageGetter.getBackground(tableBackgroundColor) stage.addActor(cityStatsTable) stage.addActor(goToWorldButton) stage.addActor(cityPickerTable) diff --git a/core/src/com/unciv/ui/tilegroups/TileGroup.kt b/core/src/com/unciv/ui/tilegroups/TileGroup.kt index 33f2601616..dd65ed4c3f 100644 --- a/core/src/com/unciv/ui/tilegroups/TileGroup.kt +++ b/core/src/com/unciv/ui/tilegroups/TileGroup.kt @@ -18,6 +18,7 @@ import com.unciv.ui.utils.colorFromRGB open class TileGroup(var tileInfo: TileInfo) : Group() { protected val hexagon = ImageGetter.getImage("TerrainIcons/Hexagon.png") protected var terrainFeatureImage:Image?=null + protected var cityImage:Image?=null protected var resourceImage: Image? = null protected var improvementImage: Image? =null @@ -27,6 +28,7 @@ open class TileGroup(var tileInfo: TileInfo) : Group() { protected var civilianUnitImage: Group? = null protected var militaryUnitImage: Group? = null private val circleImage = ImageGetter.getImage("OtherIcons/Circle.png") // for blue and red circles on the tile + private val crosshairImage = ImageGetter.getImage("OtherIcons/Crosshair.png") // for blue and red circles on the tile private val fogImage = ImageGetter.getImage("TerrainIcons/Fog.png") var yieldGroup = YieldGroup() @@ -41,6 +43,8 @@ open class TileGroup(var tileInfo: TileInfo) : Group() { addHexagon(groupSize) addCircleImage() addFogImage() + addCrosshairImage() + isTransform=false } private fun addCircleImage() { @@ -59,6 +63,19 @@ open class TileGroup(var tileInfo: TileInfo) : Group() { addActor(fogImage) } + private fun addCrosshairImage(){ + crosshairImage.width=70f + crosshairImage.height=70f + crosshairImage.center(this) + crosshairImage.isVisible=false + crosshairImage.color= Color.WHITE.cpy().apply { a=0.5f } + addActor(crosshairImage) + } + + fun showCrosshair(){ + crosshairImage.isVisible=true + } + private fun addHexagon(groupSize: Float) { val imageScale = groupSize * 1.5f / hexagon.width hexagon.setScale(imageScale) @@ -95,6 +112,7 @@ open class TileGroup(var tileInfo: TileInfo) : Group() { } updateTerrainFeatureImage() + updateCityImage() updateTileColor(isViewable) updateResourceImage(isViewable) @@ -107,10 +125,28 @@ open class TileGroup(var tileInfo: TileInfo) : Group() { updateRoadImages() updateBorderImages() + crosshairImage.toFront() + crosshairImage.isVisible=false + fogImage.toFront() fogImage.isVisible=!(isViewable || UnCivGame.Current.viewEntireMapForDebug) } + private fun updateCityImage() { + if(cityImage==null && tileInfo.isCityCenter()){ + cityImage = ImageGetter.getImage("OtherIcons/City.png") + addActor(cityImage) + cityImage!!.run { + setSize(60f, 60f) + center(this@TileGroup) + } + } + if(cityImage!=null && !tileInfo.isCityCenter()){ + cityImage!!.remove() + cityImage = null + } + } + var previousTileOwner:CivilizationInfo?=null private fun updateBorderImages() { // This is longer than it could be, because of performance - @@ -127,7 +163,7 @@ open class TileGroup(var tileInfo: TileInfo) : Group() { previousTileOwner=tileOwner if(tileOwner==null) return - val civColor = tileInfo.getOwner()!!.getCivilization().getColor() + val civColor = tileInfo.getOwner()!!.getNation().getColor() for (neighbor in tileInfo.neighbors) { val neigborOwner = neighbor.getOwner() if(neigborOwner == tileOwner && borderImages.containsKey(neighbor)) // the neighbor used to not belong to us, but now it's ours @@ -286,7 +322,7 @@ open class TileGroup(var tileInfo: TileInfo) : Group() { } if (unit != null && isViewable) { // Tile is visible - newImage = getUnitImage(unit, unit.civInfo.getCivilization().getColor(), 25f) + newImage = getUnitImage(unit, unit.civInfo.getNation().getColor(), 25f) addActor(newImage) newImage.center(this) newImage.y+=yFromCenter diff --git a/core/src/com/unciv/ui/tilegroups/WorldTileGroup.kt b/core/src/com/unciv/ui/tilegroups/WorldTileGroup.kt index c7502e4e4a..d55b329b92 100644 --- a/core/src/com/unciv/ui/tilegroups/WorldTileGroup.kt +++ b/core/src/com/unciv/ui/tilegroups/WorldTileGroup.kt @@ -35,7 +35,6 @@ class WorldTileGroup(tileInfo: TileInfo) : TileGroup(tileInfo) { override fun update(isViewable: Boolean) { - val city = tileInfo.getCity() removePopulationIcon() @@ -52,6 +51,16 @@ class WorldTileGroup(tileInfo: TileInfo) : TileGroup(tileInfo) { yieldGroup.isVisible = !UnCivGame.Current.settings.showResourcesAndImprovements if(yieldGroup.isVisible) yieldGroup.setStats(tileInfo.getTileStats(UnCivGame.Current.gameInfo.getPlayerCivilization())) + + // order by z index! + cityImage?.toFront() + terrainFeatureImage?.toFront() + yieldGroup.toFront() + improvementImage?.toFront() + resourceImage?.toFront() + cityButton?.toFront() + civilianUnitImage?.toFront() + militaryUnitImage?.toFront() } private fun updateCityButton(city: CityInfo?, viewable: Boolean) { @@ -63,7 +72,7 @@ class WorldTileGroup(tileInfo: TileInfo) : TileGroup(tileInfo) { if (city != null && tileInfo.isCityCenter()) { if (cityButton == null) { cityButton = Table() - cityButton!!.background = ImageGetter.getDrawable("skin/civTableBackground.png") + cityButton!!.background = ImageGetter.getDrawable("OtherIcons/civTableBackground.png") cityButton!!.isTransform = true addActor(cityButton) @@ -72,7 +81,7 @@ class WorldTileGroup(tileInfo: TileInfo) : TileGroup(tileInfo) { val cityButtonText = city.name + " (" + city.population.population + ")" val label = Label(cityButtonText, CameraStageBaseScreen.skin) - label.setFontColor(city.civInfo.getCivilization().getColor()) + label.setFontColor(city.civInfo.getNation().getColor()) if (city.civInfo.isPlayerCivilization()) label.addClickListener { UnCivGame.Current.screen = CityScreen(city) diff --git a/core/src/com/unciv/ui/utils/ImageGetter.kt b/core/src/com/unciv/ui/utils/ImageGetter.kt index f0a3f90be6..b56f4db550 100644 --- a/core/src/com/unciv/ui/utils/ImageGetter.kt +++ b/core/src/com/unciv/ui/utils/ImageGetter.kt @@ -1,8 +1,7 @@ package com.unciv.ui.utils -import com.badlogic.gdx.Gdx import com.badlogic.gdx.graphics.Color -import com.badlogic.gdx.graphics.Texture +import com.badlogic.gdx.graphics.g2d.TextureAtlas import com.badlogic.gdx.graphics.g2d.TextureRegion import com.badlogic.gdx.scenes.scene2d.ui.Image import com.badlogic.gdx.scenes.scene2d.utils.Drawable @@ -11,7 +10,17 @@ import java.util.* object ImageGetter { private var textureRegionByFileName = HashMap() - const val WhiteDot = "skin/whiteDot.png" + const val WhiteDot = "OtherIcons/whiteDot.png" + + // When we used to load images directly from different files, without using a texture atlas, + // The draw() phase of the main screen would take a really long time because the BatchRenderer would + // always have to switch between like 170 different textures. + // So, we now use TexturePacker in the DesktopLauncher class to pack all the different images into single images, + // and the atlas is what tells us what was packed where. + val atlas = TextureAtlas("Images/game.atlas") + + init{ + } fun getImage(fileName: String): Image { return Image(getTextureRegion(fileName)) @@ -26,11 +35,11 @@ object ImageGetter { private fun getTextureRegion(fileName: String): TextureRegion { try { - if (!textureRegionByFileName.containsKey(fileName)) { - val texture = Texture(Gdx.files.internal(fileName),true) - texture.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.MipMapLinearLinear) - textureRegionByFileName[fileName] = TextureRegion(texture) - } + val region = atlas.findRegion(fileName.replace(".png","")) + + if(region==null) + throw Exception("Could not find $fileName") + return region } catch (ex: Exception) { return getTextureRegion(WhiteDot) throw Exception("File $fileName not found!",ex) diff --git a/core/src/com/unciv/ui/worldscreen/Minimap.kt b/core/src/com/unciv/ui/worldscreen/Minimap.kt index 1faafd822d..cd64ff6f7e 100644 --- a/core/src/com/unciv/ui/worldscreen/Minimap.kt +++ b/core/src/com/unciv/ui/worldscreen/Minimap.kt @@ -77,7 +77,7 @@ class Minimap(val tileMapHolder: TileMapHolder) : ScrollPane(null){ val hex = tileImages[tileInfo]!! if (!(exploredTiles.contains(tileInfo.position) || UnCivGame.Current.viewEntireMapForDebug)) hex.color = Color.BLACK else if (tileInfo.isCityCenter()) hex.color = Color.WHITE - else if (tileInfo.getCity() != null) hex.color = tileInfo.getOwner()!!.getCivilization().getColor() + else if (tileInfo.getCity() != null) hex.color = tileInfo.getOwner()!!.getNation().getColor() else hex.color = colorFromRGB(RGB[0], RGB[1], RGB[2]).lerp(Color.GRAY, 0.5f) // Todo add to baseterrain as function } } diff --git a/core/src/com/unciv/ui/worldscreen/NotificationsScroll.kt b/core/src/com/unciv/ui/worldscreen/NotificationsScroll.kt index 6754c1e5d6..da42e6c4a2 100644 --- a/core/src/com/unciv/ui/worldscreen/NotificationsScroll.kt +++ b/core/src/com/unciv/ui/worldscreen/NotificationsScroll.kt @@ -24,7 +24,7 @@ class NotificationsScroll(private val notifications: List, interna minitable.add(ImageGetter.getImage("OtherIcons/Circle.png") .apply { color=notification.color }).size(10f).pad(5f) - minitable.background(ImageGetter.getDrawable("skin/civTableBackground.png")) + minitable.background(ImageGetter.getDrawable("OtherIcons/civTableBackground.png")) minitable.add(label).pad(3f).padRight(10f) if (notification.location != null) { diff --git a/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt b/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt index ed4f10d66e..59b3cbb641 100644 --- a/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt +++ b/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt @@ -96,7 +96,7 @@ class TileMapHolder(internal val worldScreen: WorldScreen, internal val tileMap: if((playerViewableTiles.contains(WG.tileInfo) || UnCivGame.Current.viewEntireMapForDebug) && unitsInTile.isNotEmpty() && unitsInTile.first().civInfo!=civInfo) WG.showCircle(Color.RED) - } // Display ALL viewable enemies ewith a red circle so that users don't need to go "hunting" for enemy units + } // Display ALL viewable enemies with a red circle so that users don't need to go "hunting" for enemy units if(worldScreen.bottomBar.unitTable.selectedUnit!=null){ val unit = worldScreen.bottomBar.unitTable.selectedUnit!! @@ -118,7 +118,10 @@ class TileMapHolder(internal val worldScreen: WorldScreen, internal val tileMap: && it.getUnits().first().owner != unit.owner && (playerViewableTiles.contains(it) || UnCivGame.Current.viewEntireMapForDebug)}) { if(unit.getBaseUnit().unitType== UnitType.Civilian) tileGroups[tile]!!.hideCircle() - else tileGroups[tile]!!.showCircle(colorFromRGB(237, 41, 57)) + else { + tileGroups[tile]!!.showCircle(colorFromRGB(237, 41, 57)) + tileGroups[tile]!!.showCrosshair() + } } } diff --git a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt index bad76853d2..d0db355f9a 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt @@ -8,6 +8,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.UnCivGame import com.unciv.logic.GameSaver import com.unciv.logic.civilization.CivilizationInfo +import com.unciv.logic.civilization.DiplomaticStatus import com.unciv.models.gamebasics.tile.ResourceType import com.unciv.ui.pickerscreens.GreatPersonPickerScreen import com.unciv.ui.pickerscreens.PolicyPickerScreen @@ -84,10 +85,26 @@ class WorldScreen : CameraStageBaseScreen() { fun update() { kotlin.concurrent.thread { civInfo.happiness = civInfo.getHappinessForNextTurn().values.sum().toInt() } + if(UnCivGame.Current.settings.hasCrashedRecently){ + displayTutorials("GameCrashed") + UnCivGame.Current.settings.tutorialsShown.remove("GameCrashed") + UnCivGame.Current.settings.hasCrashedRecently=false + UnCivGame.Current.settings.save() + } + if (UnCivGame.Current.settings.tutorialsShown.contains("CityEntered")) { displayTutorials("AfterCityEntered") } + if(!UnCivGame.Current.settings.tutorialsShown.contains("EnemyCityNeedsConqueringWithMeleeUnit")) { + for (enemyCity in civInfo.diplomacy.values.filter { it.diplomaticStatus == DiplomaticStatus.War } + .map { it.otherCiv() }.flatMap { it.cities }) { + if (enemyCity.health == 1 && enemyCity.getCenterTile().getTilesInDistance(2) + .any { it.getUnits().any { unit -> unit.civInfo == civInfo } }) + displayTutorials("EnemyCityNeedsConqueringWithMeleeUnit") + } + } + updateTechButton() updateDiplomacyButton() @@ -114,6 +131,7 @@ class WorldScreen : CameraStageBaseScreen() { if(civInfo.diplomacy.values.map { it.otherCiv() } .filterNot { it.isDefeated() || it.isPlayerCivilization() || it.isBarbarianCivilization() } .any()) { + displayTutorials("OtherCivEncountered") val btn = TextButton("Diplomacy".tr(), skin) btn.addClickListener { UnCivGame.Current.screen = DiplomacyScreen() } diplomacyButtonWrapper.add(btn) @@ -158,8 +176,14 @@ class WorldScreen : CameraStageBaseScreen() { nextTurnButton.setText("Working...".tr()) kotlin.concurrent.thread { - game.gameInfo.nextTurn() - GameSaver().saveGame(game.gameInfo, "Autosave") + try { + game.gameInfo.nextTurn() + GameSaver().saveGame(game.gameInfo, "Autosave") + } + catch (ex:Exception){ + UnCivGame.Current.settings.hasCrashedRecently=true + UnCivGame.Current.settings.save() + } // If we put this BEFORE the save game, then we try to save the game... // but the main thread does other stuff, including showing tutorials which guess what? Changes the game data @@ -192,6 +216,9 @@ class WorldScreen : CameraStageBaseScreen() { update() displayTutorials("NextTurn") + if("BarbarianEncountered" !in UnCivGame.Current.settings.tutorialsShown + && civInfo.getViewableTiles().any { it.getUnits().any { unit -> unit.civInfo.isBarbarianCivilization() } }) + displayTutorials("BarbarianEncountered") if(civInfo.cities.size > 2) displayTutorials("SecondCity") if(civInfo.happiness<0) displayTutorials("Unhappiness") if(civInfo.goldenAges.isGoldenAge()) displayTutorials("GoldenAge") diff --git a/core/src/com/unciv/ui/worldscreen/WorldScreenTopBar.kt b/core/src/com/unciv/ui/worldscreen/WorldScreenTopBar.kt index 70b8e06dde..e8fa18a030 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldScreenTopBar.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldScreenTopBar.kt @@ -89,7 +89,7 @@ class WorldScreenTopBar(val screen: WorldScreen) : Table() { } internal fun getMenuButton(): Image { - val menuButton = ImageGetter.getImage("skin/menuIcon.png") + val menuButton = ImageGetter.getImage("OtherIcons/MenuIcon.png") .apply { setSize(50f, 50f) } menuButton.color = Color.WHITE menuButton.addClickListener { diff --git a/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt b/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt index 7e1d7b5d75..be8997b190 100644 --- a/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt +++ b/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt @@ -55,11 +55,11 @@ class BattleTable(val worldScreen: WorldScreen): Table() { clear() row().pad(5f) val attackerLabel = Label(attacker.getName(), skin) - .setFontColor(attacker.getCivilization().getCivilization().getColor()) + .setFontColor(attacker.getCivilization().getNation().getColor()) add(attackerLabel) val defenderLabel = Label(defender.getName(), skin) - .setFontColor(defender.getCivilization().getCivilization().getColor()) + .setFontColor(defender.getCivilization().getNation().getColor()) add(defenderLabel) row().pad(5f) diff --git a/desktop/src/com/unciv/game/desktop/DesktopLauncher.java b/desktop/src/com/unciv/game/desktop/DesktopLauncher.java index 184bff437c..e7152adf95 100644 --- a/desktop/src/com/unciv/game/desktop/DesktopLauncher.java +++ b/desktop/src/com/unciv/game/desktop/DesktopLauncher.java @@ -2,10 +2,23 @@ package com.unciv.game.desktop; import com.badlogic.gdx.backends.lwjgl.LwjglApplication; import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.tools.texturepacker.TexturePacker; import com.unciv.UnCivGame; class DesktopLauncher { public static void main (String[] arg) { + + TexturePacker.Settings settings = new TexturePacker.Settings(); + settings.maxWidth = 2048; + settings.maxHeight = 2048; + settings.combineSubdirectories=true; + + // This is so they don't look all pixelated + settings.filterMag = Texture.TextureFilter.MipMapLinearLinear; + settings.filterMin = Texture.TextureFilter.MipMapLinearLinear; + TexturePacker.process(settings, "images", "images", "game"); + LwjglApplicationConfiguration config = new LwjglApplicationConfiguration(); new LwjglApplication(new UnCivGame(), config); }