aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none.none>2011-11-28 13:23:20 -0500
committermegamage <none@none.none>2011-11-28 13:23:20 -0500
commitcde7ea260eae5c7676411c848131f91e5648ec28 (patch)
treefc6ff4367191a25e0bad99917228d3567ba18980
parent49b24070771493625fe3ada260b3ecf0aa2581ad (diff)
Make AddToMap return bool.
-rwxr-xr-xsrc/server/game/Maps/Map.cpp18
-rwxr-xr-xsrc/server/game/Maps/Map.h2
2 files changed, 10 insertions, 10 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index d5be15ee012..13a47633b53 100755
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -415,14 +415,14 @@ void Map::InitializeObject(Creature* obj)
}
template<class T>
-void Map::AddToMap(T *obj)
+bool Map::AddToMap(T *obj)
{
//TODO: Needs clean up. An object should not be added to map twice.
if (obj->IsInWorld())
{
ASSERT(obj->IsInGrid());
obj->UpdateObjectVisibility(true);
- return;
+ return true;
}
CellCoord cellCoord = Trinity::ComputeCellCoord(obj->GetPositionX(), obj->GetPositionY());
@@ -433,7 +433,7 @@ void Map::AddToMap(T *obj)
if (!cellCoord.IsCoordValid())
{
sLog->outError("Map::Add: Object " UI64FMTD " has invalid coordinates X:%f Y:%f grid cell [%u:%u]", obj->GetGUID(), obj->GetPositionX(), obj->GetPositionY(), cellCoord.x_coord, cellCoord.y_coord);
- return;
+ return false; //Should delete object
}
Cell cell(cellCoord);
@@ -456,6 +456,7 @@ void Map::AddToMap(T *obj)
//something, such as vehicle, needs to be update immediately
//also, trigger needs to cast spell, if not update, cannot see visual
obj->UpdateObjectVisibility(true);
+ return true;
}
bool Map::IsGridLoaded(const GridCoord &p) const
@@ -664,8 +665,7 @@ void Map::RemovePlayerFromMap(Player* player, bool remove)
}
template<class T>
-void
-Map::RemoveFromMap(T *obj, bool remove)
+void Map::RemoveFromMap(T *obj, bool remove)
{
obj->RemoveFromWorld();
if (obj->isActiveObject())
@@ -2141,10 +2141,10 @@ void Map::RemoveFromActive(Creature* c)
}
}
-template void Map::AddToMap(Corpse*);
-template void Map::AddToMap(Creature*);
-template void Map::AddToMap(GameObject*);
-template void Map::AddToMap(DynamicObject*);
+template bool Map::AddToMap(Corpse*);
+template bool Map::AddToMap(Creature*);
+template bool Map::AddToMap(GameObject*);
+template bool Map::AddToMap(DynamicObject*);
template void Map::RemoveFromMap(Corpse*, bool);
template void Map::RemoveFromMap(Creature*, bool);
diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h
index 9caef8457b8..5b652a2524a 100755
--- a/src/server/game/Maps/Map.h
+++ b/src/server/game/Maps/Map.h
@@ -246,7 +246,7 @@ class Map : public GridRefManager<NGridType>
virtual bool AddPlayerToMap(Player*);
virtual void RemovePlayerFromMap(Player*, bool);
- template<class T> void AddToMap(T *);
+ template<class T> bool AddToMap(T *);
template<class T> void RemoveFromMap(T *, bool);
void VisitNearbyCellsOf(WorldObject* obj, TypeContainerVisitor<Trinity::ObjectUpdater, GridTypeMapContainer> &gridVisitor, TypeContainerVisitor<Trinity::ObjectUpdater, WorldTypeMapContainer> &worldVisitor);