diff --git a/android/Images/TileSets/FantasyHex/Tiles/Hill+Customs house.png b/android/Images/TileSets/FantasyHex/Tiles/Hill+Customs house.png deleted file mode 100644 index b5abaee53d..0000000000 Binary files a/android/Images/TileSets/FantasyHex/Tiles/Hill+Customs house.png and /dev/null differ diff --git a/android/assets/game.atlas b/android/assets/game.atlas index 611d1635d4..514bd884c8 100644 --- a/android/assets/game.atlas +++ b/android/assets/game.atlas @@ -2581,7 +2581,7 @@ OtherIcons/TableBackground index: -1 OtherIcons/whiteDot rotate: false - xy: 512, 5 + xy: 818, 10 size: 1, 1 orig: 1, 1 offset: 0, 0 @@ -3335,373 +3335,366 @@ TileSets/FantasyHex/Tiles/Hill+Camp orig: 32, 32 offset: 0, 0 index: -1 -TileSets/FantasyHex/Tiles/Hill+Customs house +TileSets/FantasyHex/Tiles/Hill+Fallout rotate: false xy: 1828, 259 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 -TileSets/FantasyHex/Tiles/Hill+Fallout - rotate: false - xy: 1862, 254 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 TileSets/FantasyHex/Tiles/Hill+Forest rotate: false - xy: 1896, 246 + xy: 1862, 241 size: 32, 45 orig: 32, 45 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Forest+Camp rotate: false - xy: 1930, 246 + xy: 1896, 246 size: 32, 45 orig: 32, 45 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Forest+Lumber mill rotate: false - xy: 1964, 248 + xy: 1930, 246 size: 32, 45 orig: 32, 45 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Mine rotate: false - xy: 1760, 233 + xy: 1964, 261 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Quarry rotate: false - xy: 1794, 218 + xy: 1828, 225 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Terrace Farm rotate: false - xy: 1828, 225 + xy: 1760, 233 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Iron rotate: false - xy: 1964, 218 + xy: 1930, 216 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Krakatoa rotate: false - xy: 1280, 199 + xy: 1964, 194 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Lakes rotate: false - xy: 1314, 206 + xy: 1284, 236 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Landmark rotate: false - xy: 1522, 236 + xy: 1386, 234 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Manufactory rotate: false - xy: 1760, 196 + xy: 1522, 229 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Mine rotate: false - xy: 1862, 194 + xy: 1658, 236 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Moai rotate: false - xy: 1930, 186 + xy: 1726, 229 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Mount Fuji rotate: false - xy: 1026, 138 + xy: 1280, 172 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Mountain rotate: false - xy: 1026, 100 + xy: 1314, 168 size: 32, 36 orig: 32, 36 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Ocean rotate: false - xy: 1862, 164 + xy: 1828, 165 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Oil well rotate: false - xy: 1896, 156 + xy: 1862, 153 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Old Faithful rotate: false - xy: 1930, 152 + xy: 1896, 154 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Pasture rotate: false - xy: 1556, 202 + xy: 1420, 208 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Pasture2 rotate: false - xy: 1590, 205 + xy: 1416, 178 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains rotate: false - xy: 1692, 200 + xy: 1522, 199 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+City rotate: false - xy: 1998, 319 + xy: 1556, 195 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Fallout rotate: false - xy: 1998, 289 + xy: 1590, 205 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Farm rotate: false - xy: 1998, 259 + xy: 1624, 208 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Forest rotate: false - xy: 1998, 224 + xy: 1658, 201 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Forest+Camp rotate: false - xy: 1998, 189 + xy: 1692, 195 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Forest+Lumber mill rotate: false - xy: 1998, 154 + xy: 1726, 194 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Jungle rotate: false - xy: 1964, 123 + xy: 1760, 168 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Jungle+Trading post rotate: false - xy: 1998, 117 + xy: 1794, 155 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Trading post rotate: false - xy: 1280, 169 + xy: 1828, 135 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plantation rotate: false - xy: 1314, 176 + xy: 1450, 171 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Polder rotate: false - xy: 1420, 208 + xy: 1484, 171 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Quarry rotate: false - xy: 1454, 201 + xy: 1518, 169 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-Bottom rotate: false - xy: 1522, 174 + xy: 1862, 121 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-BottomLeft rotate: false - xy: 1556, 170 + xy: 1896, 122 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-BottomRight rotate: false - xy: 1590, 173 + xy: 1930, 126 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-Top rotate: false - xy: 1624, 174 + xy: 1964, 132 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-TopLeft rotate: false - xy: 1658, 174 + xy: 1416, 146 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-TopRight rotate: false - xy: 1692, 168 + xy: 1450, 139 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Rock of Gibraltar rotate: false - xy: 1726, 167 + xy: 1484, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Silver rotate: false - xy: 1862, 134 + xy: 1382, 144 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra rotate: false - xy: 1386, 206 + xy: 1896, 92 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Camp rotate: false - xy: 1348, 180 + xy: 1930, 96 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+City rotate: false - xy: 1348, 143 + xy: 1964, 95 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Fallout rotate: false - xy: 1382, 176 + xy: 1586, 117 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Forest rotate: false - xy: 1382, 142 + xy: 1998, 322 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Forest+Camp rotate: false - xy: 1420, 174 + xy: 1998, 288 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Forest+Lumber mill rotate: false - xy: 1454, 167 + xy: 1998, 254 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Trading post rotate: false - xy: 1488, 169 + xy: 1998, 224 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Uranium rotate: false - xy: 1450, 137 + xy: 1998, 166 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/TopBorder rotate: false - xy: 2010, 392 + xy: 1794, 125 size: 32, 28 orig: 32, 28 offset: 0, 0 @@ -3974,21 +3967,21 @@ TileSets/FantasyHex/Units/Infantry index: -1 TileSets/FantasyHex/Units/Hoplite rotate: false - xy: 1862, 224 + xy: 1794, 222 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Horseman rotate: false - xy: 1896, 216 + xy: 1862, 211 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Hwach'a rotate: false - xy: 1930, 216 + xy: 1896, 216 size: 32, 28 orig: 32, 28 offset: 0, 0 @@ -4002,315 +3995,315 @@ TileSets/FantasyHex/Units/Ironclad index: -1 TileSets/FantasyHex/Units/Jaguar rotate: false - xy: 1284, 236 + xy: 1964, 231 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Janissary rotate: false - xy: 1318, 236 + xy: 1828, 195 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Keshik rotate: false - xy: 1352, 238 + xy: 1862, 183 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Khan rotate: false - xy: 1386, 236 + xy: 1896, 188 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Knight rotate: false - xy: 1420, 238 + xy: 1930, 186 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Lancer rotate: false - xy: 1454, 231 + xy: 1318, 236 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/LandUnit rotate: false - xy: 1488, 229 + xy: 1352, 236 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Warrior rotate: false - xy: 1488, 229 + xy: 1352, 236 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Landship rotate: false - xy: 1556, 232 + xy: 1420, 238 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Landsknecht rotate: false - xy: 1590, 235 + xy: 1280, 206 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Legion rotate: false - xy: 1624, 236 + xy: 1314, 206 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Longbowman rotate: false - xy: 1658, 236 + xy: 1348, 206 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Longswordsman rotate: false - xy: 1692, 230 + xy: 1454, 231 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Mandekalu Cavalry rotate: false - xy: 1726, 231 + xy: 1488, 231 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Maori Warrior rotate: false - xy: 1726, 201 + xy: 1556, 232 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Marine rotate: false - xy: 1794, 188 + xy: 1590, 235 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Mechanized Infantry rotate: false - xy: 1828, 197 + xy: 1624, 238 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Minuteman rotate: false - xy: 1896, 186 + xy: 1692, 230 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Mohawk Warrior rotate: false - xy: 1964, 188 + xy: 1382, 204 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Musketeer rotate: false - xy: 1026, 70 + xy: 1348, 176 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Musketman rotate: false - xy: 1026, 40 + xy: 1382, 174 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Naresuan's Elephant rotate: false - xy: 1022, 12 + xy: 1760, 205 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Norwegian Ski Infantry rotate: false - xy: 1828, 167 + xy: 1794, 192 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Panzer rotate: false - xy: 1964, 160 + xy: 1930, 158 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Paratrooper rotate: false - xy: 1522, 206 + xy: 1964, 164 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Persian Immortal rotate: false - xy: 1624, 206 + xy: 1454, 201 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Pikeman rotate: false - xy: 1658, 206 + xy: 1488, 201 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Rifleman rotate: false - xy: 1488, 199 + xy: 1552, 165 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Rocket Artillery rotate: false - xy: 1760, 166 + xy: 1518, 139 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Scout rotate: false - xy: 1794, 158 + xy: 1552, 135 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Ship of the Line rotate: false - xy: 1828, 139 + xy: 1348, 148 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Sipahi rotate: false - xy: 1896, 128 + xy: 1590, 177 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Slinger rotate: false - xy: 1930, 122 + xy: 1624, 178 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Spearman rotate: false - xy: 1314, 146 + xy: 1658, 171 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Submarine rotate: false - xy: 1964, 95 + xy: 1692, 167 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Swordsman rotate: false - xy: 1998, 87 + xy: 1726, 164 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Tank rotate: false - xy: 2010, 452 + xy: 1586, 147 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Tercio rotate: false - xy: 2010, 422 + xy: 1760, 138 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Trebuchet rotate: false - xy: 2010, 362 + xy: 1828, 105 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Trireme rotate: false - xy: 1352, 210 + xy: 1862, 93 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Turtle Ship rotate: false - xy: 1416, 146 + xy: 1998, 196 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/War Chariot rotate: false - xy: 1416, 116 + xy: 1998, 136 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/War Elephant rotate: false - xy: 1450, 109 + xy: 1998, 108 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/WaterUnit rotate: false - xy: 1522, 146 + xy: 1998, 80 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Work Boats rotate: false - xy: 1488, 141 + xy: 1416, 118 size: 32, 26 orig: 32, 26 offset: 0, 0 diff --git a/android/assets/game2.png b/android/assets/game2.png index 323313e99b..9fba1479db 100644 Binary files a/android/assets/game2.png and b/android/assets/game2.png differ diff --git a/core/src/com/unciv/models/metadata/GameSettings.kt b/core/src/com/unciv/models/metadata/GameSettings.kt index 49e33acf05..939d3aa71a 100644 --- a/core/src/com/unciv/models/metadata/GameSettings.kt +++ b/core/src/com/unciv/models/metadata/GameSettings.kt @@ -22,6 +22,7 @@ class GameSettings { var showMinimap: Boolean = true var showPixelUnits: Boolean = false var showPixelImprovements: Boolean = true + var showPixelResources: Boolean = true var nuclearWeaponEnabled = false var userId = "" diff --git a/core/src/com/unciv/ui/tilegroups/TileGroup.kt b/core/src/com/unciv/ui/tilegroups/TileGroup.kt index d86f607b0c..db38db3359 100644 --- a/core/src/com/unciv/ui/tilegroups/TileGroup.kt +++ b/core/src/com/unciv/ui/tilegroups/TileGroup.kt @@ -90,7 +90,7 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings) this.addActor(cityButtonLayerGroup) this.addActor(circleCrosshairFogLayerGroup) - updateTileImage(false) + updateTileImage(null) addCircleImage() addFogImage(groupSize) @@ -132,8 +132,9 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings) } - fun getTileBaseImageLocations(isRevealed: Boolean): List{ - if (!isRevealed) return listOf(tileSetStrings.hexagon) + fun getTileBaseImageLocations(viewingCiv: CivilizationInfo?): List{ + if (viewingCiv==null) return listOf(tileSetStrings.hexagon) + if (tileInfo.isCityCenter()) { val terrainAndCity = tileSetStrings.getCityTile(tileInfo.baseTerrain) if (ImageGetter.imageExists(terrainAndCity)) @@ -141,6 +142,7 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings) if (ImageGetter.imageExists(tileSetStrings.cityTile)) return listOf(tileSetStrings.cityTile) } + if (tileInfo.isNaturalWonder()) { val naturalWonder = tileSetStrings.getTile(tileInfo.naturalWonder!!) @@ -148,19 +150,32 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings) return listOf(naturalWonder) } + val shouldShowImprovement = tileInfo.improvement!=null && UncivGame.Current.settings.showPixelImprovements - val baseTerrainTileLocation = tileSetStrings.getTile(tileInfo.baseTerrain) + val shouldShowResource = UncivGame.Current.settings.showPixelImprovements + && ((tileInfo.resource!=null && UncivGame.Current.viewEntireMapForDebug) || tileInfo.hasViewableResource(viewingCiv)) + val baseTerrainTileLocation = tileSetStrings.getTile(tileInfo.baseTerrain) // e.g. Grassland + if (tileInfo.terrainFeature != null) { + // e.g. Grassland+Forest val baseTerrainAndFeatureTileLocation = "$baseTerrainTileLocation+${tileInfo.terrainFeature}" if(shouldShowImprovement){ - val basefeatureAndImprovementTileLocation = "$baseTerrainAndFeatureTileLocation+${tileInfo.improvement}" - if (ImageGetter.imageExists(basefeatureAndImprovementTileLocation)) - return listOf(basefeatureAndImprovementTileLocation) + // e.g. Grassland+Forest+Lumber mill + val baseFeatureAndImprovementTileLocation = "$baseTerrainAndFeatureTileLocation+${tileInfo.improvement}" + if (ImageGetter.imageExists(baseFeatureAndImprovementTileLocation)) + return listOf(baseFeatureAndImprovementTileLocation) + } + if(shouldShowResource){ + // e.g. Grassland+Forest+Silver + val baseTerrainFeatureAndResourceLocation = "$baseTerrainAndFeatureTileLocation+${tileInfo.resource}" + if (ImageGetter.imageExists(baseTerrainFeatureAndResourceLocation)) + return listOf(baseTerrainFeatureAndResourceLocation) } if (ImageGetter.imageExists(baseTerrainAndFeatureTileLocation)) { if(shouldShowImprovement){ val improvementImageLocation = tileSetStrings.getTile(tileInfo.improvement!!) + // E.g. (Desert+Flood plains, Moai) if(ImageGetter.imageExists(improvementImageLocation)) return listOf(baseTerrainAndFeatureTileLocation, improvementImageLocation) } @@ -168,7 +183,9 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings) } } + // No terrain feature if(shouldShowImprovement){ + // E.g. Grassland+Farm val baseTerrainAndImprovement = "$baseTerrainTileLocation+${tileInfo.improvement}" if (ImageGetter.imageExists(baseTerrainAndImprovement)) return listOf(baseTerrainAndImprovement) @@ -177,9 +194,17 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings) if (ImageGetter.imageExists(baseTerrainTileLocation)){ if(shouldShowImprovement){ val improvementImageLocation = tileSetStrings.getTile(tileInfo.improvement!!) + // E.g. (Desert, Mine) if(ImageGetter.imageExists(improvementImageLocation)) return listOf(baseTerrainTileLocation, improvementImageLocation) } + + if(shouldShowResource){ + // e.g. (Plains, Gems) + val resourceImageLocation = tileSetStrings.getTile(tileInfo.resource!!) + if (ImageGetter.imageExists(resourceImageLocation)) + return listOf(baseTerrainTileLocation, resourceImageLocation) + } return listOf(baseTerrainTileLocation) } return listOf(tileSetStrings.hexagon) @@ -195,8 +220,8 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings) hexagonImage.y = -groupSize / 6 } - private fun updateTileImage(isRevealed: Boolean) { - val tileBaseImageLocations = getTileBaseImageLocations(isRevealed) + private fun updateTileImage(viewingCiv: CivilizationInfo?) { + val tileBaseImageLocations = getTileBaseImageLocations(viewingCiv) val identifier = tileBaseImageLocations.joinToString(";") if (identifier == tileImagesIdentifier) return @@ -230,7 +255,7 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings) val tileIsViewable = viewingCiv == null || isViewable(viewingCiv) val showMilitaryUnit = viewingCiv == null || showMilitaryUnit(viewingCiv) - updateTileImage(true) + updateTileImage(viewingCiv) updateRivers(tileInfo.hasBottomRightRiver, tileInfo.hasBottomRiver, tileInfo.hasBottomLeftRiver) updateTerrainBaseImage() updateTerrainFeatureImage() diff --git a/core/src/com/unciv/ui/tilegroups/TileSetStrings.kt b/core/src/com/unciv/ui/tilegroups/TileSetStrings.kt index 3b90bef57e..947b954add 100644 --- a/core/src/com/unciv/ui/tilegroups/TileSetStrings.kt +++ b/core/src/com/unciv/ui/tilegroups/TileSetStrings.kt @@ -24,6 +24,7 @@ class TileSetStrings { val waterUnit = unitsLocation+"WaterUnit" private val baseTerrainToTile = HashMap() + fun getTile(baseTerrain:String): String { if(!baseTerrainToTile.containsKey(baseTerrain)) baseTerrainToTile[baseTerrain] = "$tilesLocation$baseTerrain"