fix(editor): bound tile coords + NaN-guard baseHeight in createNewTerrain

Same defensive validation as loadADT — out-of-range tile coords
would generate broken save paths. Also guards against a NaN
baseHeight slider (would propagate into every terrain vertex).
This commit is contained in:
Kelsi 2026-05-06 07:36:32 -07:00
parent d9d0797b7f
commit 891bb711a0

View file

@ -1038,6 +1038,12 @@ void EditorApp::loadADT(const std::string& mapName, int tileX, int tileY) {
}
void EditorApp::createNewTerrain(const std::string& mapName, int tileX, int tileY, float baseHeight, Biome biome) {
if (tileX < 0 || tileX > 63 || tileY < 0 || tileY > 63) {
LOG_ERROR("createNewTerrain rejected: tile (", tileX, ",", tileY,
") out of valid 0..63 range");
return;
}
if (!std::isfinite(baseHeight)) baseHeight = 0.0f;
terrain_ = TerrainEditor::createBlankTerrain(tileX, tileY, baseHeight, biome);
// Clear all previous state
clearAllObjects();