From 9c4e9f88771074966c6cdc043ff4966fc80b60d9 Mon Sep 17 00:00:00 2001 From: yairm210 Date: Wed, 16 Jul 2025 11:38:39 +0300 Subject: [PATCH] Raise error if tilemap has no tiles --- core/src/com/unciv/logic/map/TileMap.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/core/src/com/unciv/logic/map/TileMap.kt b/core/src/com/unciv/logic/map/TileMap.kt index ba63a9edb0..09a7e3fa59 100644 --- a/core/src/com/unciv/logic/map/TileMap.kt +++ b/core/src/com/unciv/logic/map/TileMap.kt @@ -497,12 +497,13 @@ class TileMap(initialCapacity: Int = 10) : IsPartOfGameInfoSerialization { fun setTransients(ruleset: Ruleset? = null, setUnitCivTransients: Boolean = true) { if (ruleset != null) this.ruleset = ruleset check(this.ruleset != null) { "TileMap.setTransients called without ruleset" } + check(tileList.isNotEmpty()) { "No tiles were found in the save?!" } if (tileMatrix.isEmpty()) { - val topY = tileList.asSequence().map { it.position.y.toInt() }.maxOrNull()!! - bottomY = tileList.asSequence().map { it.position.y.toInt() }.minOrNull()!! - val rightX = tileList.asSequence().map { it.position.x.toInt() }.maxOrNull()!! - leftX = tileList.asSequence().map { it.position.x.toInt() }.minOrNull()!! + val topY = tileList.asSequence().map { it.position.y.toInt() }.max() + bottomY = tileList.asSequence().map { it.position.y.toInt() }.min() + val rightX = tileList.asSequence().map { it.position.x.toInt() }.max() + leftX = tileList.asSequence().map { it.position.x.toInt() }.min() // Initialize arrays with enough capacity to avoid re-allocations (+Arrays.copyOf). // We have just calculated the dimensions above, so we know the final size.