aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Map.cpp7
-rw-r--r--src/game/Map.h4
-rw-r--r--src/game/MapInstanced.cpp6
-rw-r--r--src/game/MapInstanced.h1
-rw-r--r--src/game/MapManager.cpp2
5 files changed, 13 insertions, 7 deletions
diff --git a/src/game/Map.cpp b/src/game/Map.cpp
index 726bb3534d2..e3da8480719 100644
--- a/src/game/Map.cpp
+++ b/src/game/Map.cpp
@@ -2126,12 +2126,11 @@ inline void Map::setNGrid(NGridType *grid, uint32 x, uint32 y)
i_grids[x][y] = grid;
}
-void Map::DoDelayedMovesAndRemoves()
-{
+//void Map::DoDelayedMovesAndRemoves()
+//{
//MoveAllCreaturesInMoveList();
//RemoveAllObjectsInRemoveList();
- RelocationNotify();
-}
+//}
void Map::AddObjectToRemoveList(WorldObject *obj)
{
diff --git a/src/game/Map.h b/src/game/Map.h
index e40c6118ea6..514308c699a 100644
--- a/src/game/Map.h
+++ b/src/game/Map.h
@@ -340,6 +340,7 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj
virtual void MoveAllCreaturesInMoveList();
virtual void RemoveAllObjectsInRemoveList();
+ virtual void RelocationNotify();
bool CreatureRespawnRelocation(Creature *c); // used only in MoveAllCreaturesInMoveList and ObjectGridUnloader
@@ -373,7 +374,7 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj
void AddObjectToRemoveList(WorldObject *obj);
void AddObjectToSwitchList(WorldObject *obj, bool on);
- void DoDelayedMovesAndRemoves();
+ //void DoDelayedMovesAndRemoves();
virtual bool RemoveBones(uint64 guid, float x, float y);
@@ -389,7 +390,6 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj
void AddUnitToNotify(Unit* unit);
void RemoveUnitFromNotify(int32 slot);
- void RelocationNotify();
void SendToPlayers(WorldPacket const* data) const;
diff --git a/src/game/MapInstanced.cpp b/src/game/MapInstanced.cpp
index df0fca8016c..ca106d6506c 100644
--- a/src/game/MapInstanced.cpp
+++ b/src/game/MapInstanced.cpp
@@ -77,6 +77,12 @@ void MapInstanced::RemoveAllObjectsInRemoveList()
Map::RemoveAllObjectsInRemoveList();
}
+void MapInstanced::RelocationNotify()
+{
+ for (InstancedMaps::iterator i = m_InstancedMaps.begin(); i != m_InstancedMaps.end(); ++i)
+ i->second->RelocationNotify();
+}
+
bool MapInstanced::RemoveBones(uint64 guid, float x, float y)
{
bool remove_result = false;
diff --git a/src/game/MapInstanced.h b/src/game/MapInstanced.h
index 70e59065577..bbca6ca0abb 100644
--- a/src/game/MapInstanced.h
+++ b/src/game/MapInstanced.h
@@ -37,6 +37,7 @@ class TRINITY_DLL_DECL MapInstanced : public Map
void Update(const uint32&);
void MoveAllCreaturesInMoveList();
void RemoveAllObjectsInRemoveList();
+ void RelocationNotify();
bool RemoveBones(uint64 guid, float x, float y);
void UnloadAll();
bool CanEnter(Player* player);
diff --git a/src/game/MapManager.cpp b/src/game/MapManager.cpp
index d75ba22b19a..43c778858b5 100644
--- a/src/game/MapManager.cpp
+++ b/src/game/MapManager.cpp
@@ -270,7 +270,7 @@ MapManager::Update(uint32 diff)
void MapManager::DoDelayedMovesAndRemoves()
{
for(MapMapType::iterator iter=i_maps.begin(); iter != i_maps.end(); ++iter)
- iter->second->DoDelayedMovesAndRemoves();
+ iter->second->RelocationNotify();
}
bool MapManager::ExistMapAndVMap(uint32 mapid, float x,float y)