From 3b25f0c0d501d08934a15444327671960419b77a Mon Sep 17 00:00:00 2001 From: Relintai Date: Tue, 9 Apr 2024 13:52:02 +0200 Subject: [PATCH] Fix regression in LayeredTileMaps. --- modules/layered_tile_map/layered_tile_map_layer.cpp | 12 ++++++------ modules/layered_tile_map/layered_tile_map_layer.h | 1 - 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/modules/layered_tile_map/layered_tile_map_layer.cpp b/modules/layered_tile_map/layered_tile_map_layer.cpp index e475407a0..522b95af8 100644 --- a/modules/layered_tile_map/layered_tile_map_layer.cpp +++ b/modules/layered_tile_map/layered_tile_map_layer.cpp @@ -2370,7 +2370,7 @@ void LayeredTileMapLayer::fix_invalid_tiles() { ERR_FAIL_COND_MSG(tile_set.is_null(), "Cannot call fix_invalid_tiles() on a LayeredTileMap without a valid LayeredTileSet."); RBSet coords; - for (const HashMap::Element *E = tile_map.front(); E; E = E->next) { + for (const HashMap::Element *E = tile_map_layer_data.front(); E; E = E->next) { LayeredTileSetSource *source = *tile_set->get_source(E->value().cell.source_id); if (!source || !source->has_tile(E->value().cell.get_atlas_coords()) || !source->has_alternative_tile(E->value().cell.get_atlas_coords(), E->value().cell.alternative_tile)) { coords.insert(E->key()); @@ -2384,7 +2384,7 @@ void LayeredTileMapLayer::fix_invalid_tiles() { void LayeredTileMapLayer::clear() { // Remove all tiles. - for (HashMap::Element *kv = tile_map.front(); kv; kv = kv->next) { + for (HashMap::Element *kv = tile_map_layer_data.front(); kv; kv = kv->next) { erase_cell(kv->key()); } used_rect_cache_dirty = true; @@ -2414,7 +2414,7 @@ Vector2i LayeredTileMapLayer::get_cell_atlas_coords(const Vector2i &p_coords) co int LayeredTileMapLayer::get_cell_alternative_tile(const Vector2i &p_coords) const { // Get a cell source id from position. - const HashMap::Element *E = tile_map.find(p_coords); + const HashMap::Element *E = tile_map_layer_data.find(p_coords); if (!E) { return LayeredTileSetSource::INVALID_TILE_ALTERNATIVE; @@ -2440,7 +2440,7 @@ LayeredTileData *LayeredTileMapLayer::get_cell_tile_data(const Vector2i &p_coord PoolVector2iArray LayeredTileMapLayer::get_used_cells() const { // Returns the cells used in the tilemap. PoolVector2iArray a; - for (const HashMap::Element *E = tile_map.front(); E; E = E->next) { + for (const HashMap::Element *E = tile_map_layer_data.front(); E; E = E->next) { const LayeredTileMapCell &c = E->value().cell; if (c.source_id == LayeredTileSet::INVALID_SOURCE) { continue; @@ -2454,7 +2454,7 @@ PoolVector2iArray LayeredTileMapLayer::get_used_cells() const { PoolVector2iArray LayeredTileMapLayer::get_used_cells_by_id(int p_source_id, const Vector2i &p_atlas_coords, int p_alternative_tile) const { // Returns the cells used in the tilemap. PoolVector2iArray a; - for (const HashMap::Element *E = tile_map.front(); E; E = E->next) { + for (const HashMap::Element *E = tile_map_layer_data.front(); E; E = E->next) { const LayeredTileMapCell &c = E->value().cell; if (c.source_id == LayeredTileSet::INVALID_SOURCE) { continue; @@ -2475,7 +2475,7 @@ Rect2i LayeredTileMapLayer::get_used_rect() const { used_rect_cache = Rect2i(); bool first = true; - for (const HashMap::Element *E = tile_map.front(); E; E = E->next) { + for (const HashMap::Element *E = tile_map_layer_data.front(); E; E = E->next) { const LayeredTileMapCell &c = E->value().cell; if (c.source_id == LayeredTileSet::INVALID_SOURCE) { continue; diff --git a/modules/layered_tile_map/layered_tile_map_layer.h b/modules/layered_tile_map/layered_tile_map_layer.h index 094d4f2e4..57e4a57d4 100644 --- a/modules/layered_tile_map/layered_tile_map_layer.h +++ b/modules/layered_tile_map/layered_tile_map_layer.h @@ -317,7 +317,6 @@ private: DebugVisibilityMode navigation_visibility_mode = DEBUG_VISIBILITY_MODE_DEFAULT; // Internal. - HashMap tile_map; bool pending_update = false; // For keeping compatibility with LayeredTileMap.