From 71b7cc6361d6db9dd445aef617a40b8435393729 Mon Sep 17 00:00:00 2001 From: Gosha <284210+Lordron@users.noreply.github.com> Date: Thu, 13 Apr 2023 12:52:34 +0300 Subject: Change Map::Visit to not call EnsureGridLoaded if cell.NoCreate is true (#28884) Remove Map::setGridObjectDataLoaded/Map::isGridObjectDataLoaded helpers, we have NGridType object to use methods directly --- src/server/game/Maps/Map.h | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/server/game/Maps/Map.h') diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index c926a00f27f..66c8e0c9059 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -696,9 +696,6 @@ class TC_GAME_API Map : public GridRefManager return i_grids[x][y]; } - bool isGridObjectDataLoaded(uint32 x, uint32 y) const { return getNGrid(x, y)->isGridObjectDataLoaded(); } - void setGridObjectDataLoaded(bool pLoaded, uint32 x, uint32 y) { getNGrid(x, y)->setGridObjectDataLoaded(pLoaded); } - void setNGrid(NGridType* grid, uint32 x, uint32 y); void ScriptsProcess(); @@ -985,10 +982,11 @@ inline void Map::Visit(Cell const& cell, TypeContainerVisitor& vis const uint32 cell_x = cell.CellX(); const uint32 cell_y = cell.CellY(); - if (!cell.NoCreate() || IsGridLoaded(GridCoord(x, y))) - { + if (!cell.NoCreate()) EnsureGridLoaded(cell); - getNGrid(x, y)->VisitGrid(cell_x, cell_y, visitor); - } + + NGridType* grid = getNGrid(x, y); + if (grid && grid->isGridObjectDataLoaded()) + grid->VisitGrid(cell_x, cell_y, visitor); } #endif -- cgit v1.2.3