diff options
| author | megamage <none@none> | 2009-06-16 11:19:59 -0500 |
|---|---|---|
| committer | megamage <none@none> | 2009-06-16 11:19:59 -0500 |
| commit | 3cf2be604275ec1ae7321b78dc6b62e559a5d7c7 (patch) | |
| tree | d119d51bcee396d8fe913fa6b709ff45da2a2c2e /src/game/Map.cpp | |
| parent | aaec3c819167afb3f40410142654ed4d57926b10 (diff) | |
[8026] Obtain object's map directly by calling appropriate WorldObject::GetMap()/GetBaseMap() functions instead of accessing MapManager. Code cleanups. Big thanks Infinity for tests. Author: Ambal
--HG--
branch : trunk
Diffstat (limited to 'src/game/Map.cpp')
| -rw-r--r-- | src/game/Map.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/game/Map.cpp b/src/game/Map.cpp index 4a102b92051..344fcbc74a2 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -127,7 +127,7 @@ void Map::LoadMap(int gx,int gy, bool reload) if(GridMaps[gx][gy]) return; - Map* baseMap = const_cast<Map*>(MapManager::Instance().GetBaseMap(i_id)); + Map* baseMap = const_cast<Map*>(MapManager::Instance().CreateBaseMap(i_id)); // load grid map for base map if (!baseMap->GridMaps[gx][gy]) @@ -498,9 +498,6 @@ void Map::Add(T *obj) { CellPair p = Trinity::ComputeCellPair(obj->GetPositionX(), obj->GetPositionY()); - - assert(obj); - if(p.x_coord >= TOTAL_NUMBER_OF_CELLS_PER_MAP || p.y_coord >= TOTAL_NUMBER_OF_CELLS_PER_MAP ) { sLog.outError("Map::Add: Object " UI64FMTD " have invalid coordinates X:%f Y:%f grid cell [%u:%u]", obj->GetGUID(), obj->GetPositionX(), obj->GetPositionY(), p.x_coord, p.y_coord); @@ -1161,7 +1158,7 @@ bool Map::UnloadGrid(const uint32 &x, const uint32 &y, bool unloadAll) VMAP::VMapFactory::createOrGetVMapManager()->unloadMap(GetId(), gy, gx); } else - ((MapInstanced*)(MapManager::Instance().GetBaseMap(i_id)))->RemoveGridMapReference(GridPair(gx, gy)); + ((MapInstanced*)(MapManager::Instance().CreateBaseMap(i_id)))->RemoveGridMapReference(GridPair(gx, gy)); GridMaps[gx][gy] = NULL; } DEBUG_LOG("Unloading grid[%u,%u] for map %u finished", x,y, i_id); |
