diff options
author | Shauren <shauren.trinity@gmail.com> | 2013-10-17 00:55:50 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2013-10-17 00:55:50 +0200 |
commit | 565dd4299cde1f878e3f9c72a72c7c2665d51a3f (patch) | |
tree | 4d9e748e453837c9adf75b9df1e5cf19ad19ace5 /src | |
parent | 59fd2520fc3fd87a05857ba6a10bbfd0b10c36f1 (diff) |
Build fix
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Grids/ObjectGridLoader.cpp | 9 | ||||
-rw-r--r-- | src/server/game/Maps/Map.cpp | 17 | ||||
-rw-r--r-- | src/server/game/Maps/Map.h | 6 |
3 files changed, 23 insertions, 9 deletions
diff --git a/src/server/game/Grids/ObjectGridLoader.cpp b/src/server/game/Grids/ObjectGridLoader.cpp index b2ddd6b8a4a..d124cd57276 100644 --- a/src/server/game/Grids/ObjectGridLoader.cpp +++ b/src/server/game/Grids/ObjectGridLoader.cpp @@ -99,6 +99,15 @@ void AddObjectHelper(CellCoord &cell, GridRefManager<T> &m, uint32 &count, Map* obj->AddToGrid(m); ObjectGridLoader::SetObjectCell(obj, cell); obj->AddToWorld(); + ++count; +} + +template <> +void AddObjectHelper(CellCoord &cell, CreatureMapType &m, uint32 &count, Map* map, Creature *obj) +{ + obj->AddToGrid(m); + ObjectGridLoader::SetObjectCell(obj, cell); + obj->AddToWorld(); if (obj->isActiveObject()) map->AddToActive(obj); diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 46eee6613fe..2f4194b3f5f 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -2541,10 +2541,15 @@ void Map::AddToActive(Creature* c) } } +template<> +void Map::AddToActive(DynamicObject* d) +{ + AddToActiveHelper(d); +} + template<class T> void Map::RemoveFromActive(T* obj) { - RemoveFromActiveHelper(obj); } template <> @@ -2569,6 +2574,12 @@ void Map::RemoveFromActive(Creature* c) } } +template<> +void Map::RemoveFromActive(DynamicObject* obj) +{ + RemoveFromActiveHelper(obj); +} + template bool Map::AddToMap(Corpse*); template bool Map::AddToMap(Creature*); template bool Map::AddToMap(GameObject*); @@ -2579,10 +2590,6 @@ template void Map::RemoveFromMap(Creature*, bool); template void Map::RemoveFromMap(GameObject*, bool); template void Map::RemoveFromMap(DynamicObject*, bool); -template void Map::AddToActive(DynamicObject*); - -template void Map::RemoveFromActive(DynamicObject*); - /* ******* Dungeon Instance Maps ******* */ InstanceMap::InstanceMap(uint32 id, time_t expiry, uint32 InstanceId, uint8 SpawnMode, Map* _parent) diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index c57f7d36bc6..932f3e213ae 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -603,14 +603,12 @@ class Map : public GridRefManager<NGridType> template<class T> void DeleteFromWorld(T*); - template<class T> - void AddToActiveHelper(T* obj) + void AddToActiveHelper(WorldObject* obj) { m_activeNonPlayers.insert(obj); } - template<class T> - void RemoveFromActiveHelper(T* obj) + void RemoveFromActiveHelper(WorldObject* obj) { // Map::Update for active object in proccess if (m_activeNonPlayersIter != m_activeNonPlayers.end()) |