diff options
author | Haoyu Qiu <timothyqiu32@gmail.com> | 2024-10-18 20:06:31 +0800 |
---|---|---|
committer | Haoyu Qiu <timothyqiu32@gmail.com> | 2024-10-18 20:06:31 +0800 |
commit | 5adb489a04df1e3239a41a490dfb4d06cdd622ed (patch) | |
tree | d6f11a8114ecd9ee7733d7e518d222c6f3d802bc | |
parent | 4631a617e5ab4ec5cc51dbc43609b269a43059d9 (diff) | |
download | redot-engine-5adb489a04df1e3239a41a490dfb4d06cdd622ed.tar.gz |
Fix error when undo tile deletion in TileSetAtlasSourceEditor
-rw-r--r-- | scene/resources/2d/tile_set.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/scene/resources/2d/tile_set.cpp b/scene/resources/2d/tile_set.cpp index 229e18be23..e624bdb32f 100644 --- a/scene/resources/2d/tile_set.cpp +++ b/scene/resources/2d/tile_set.cpp @@ -6480,9 +6480,9 @@ int TileData::get_terrain_set() const { } void TileData::set_terrain(int p_terrain) { - ERR_FAIL_COND(terrain_set < 0); ERR_FAIL_COND(p_terrain < -1); - if (tile_set) { + ERR_FAIL_COND(terrain_set < 0 && p_terrain != -1); + if (tile_set && terrain_set >= 0) { ERR_FAIL_COND(p_terrain >= tile_set->get_terrains_count(terrain_set)); } terrain = p_terrain; @@ -6495,9 +6495,9 @@ int TileData::get_terrain() const { void TileData::set_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit, int p_terrain_index) { ERR_FAIL_INDEX(p_peering_bit, TileSet::CellNeighbor::CELL_NEIGHBOR_MAX); - ERR_FAIL_COND(terrain_set < 0); ERR_FAIL_COND(p_terrain_index < -1); - if (tile_set) { + ERR_FAIL_COND(terrain_set < 0 && p_terrain_index != -1); + if (tile_set && terrain_set >= 0) { ERR_FAIL_COND(p_terrain_index >= tile_set->get_terrains_count(terrain_set)); ERR_FAIL_COND(!is_valid_terrain_peering_bit(p_peering_bit)); } |