diff options
author | megamage <none@none> | 2009-07-16 11:49:00 +0800 |
---|---|---|
committer | megamage <none@none> | 2009-07-16 11:49:00 +0800 |
commit | 208087ff6ee592150b1ed387bbc135566a02a359 (patch) | |
tree | 42b3b460ce2276259e2673bc8b254e0812af1fbb /src/game/MapManager.cpp | |
parent | 762528c5dd7908de47f2c2a7dcc5e7c95eb79744 (diff) |
[8182] Store and use Map* pointer in WorldObject instead map ids for speedup Author: Ambal
Also some code logic cleanups.
Changes let make more cleanups in base map access and other places,
but this chnages not inlcuded in patch.
*This patch may cause crash.
--HG--
branch : trunk
Diffstat (limited to 'src/game/MapManager.cpp')
-rw-r--r-- | src/game/MapManager.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/game/MapManager.cpp b/src/game/MapManager.cpp index fb93ba2e2f3..79a81f2afa3 100644 --- a/src/game/MapManager.cpp +++ b/src/game/MapManager.cpp @@ -128,13 +128,13 @@ MapManager::_createBaseMap(uint32 id) return m; } -Map* MapManager::GetMap(uint32 id, const WorldObject* obj) +Map* MapManager::CreateMap(uint32 id, const WorldObject* obj) { ASSERT(obj); //if(!obj->IsInWorld()) sLog.outError("GetMap: called for map %d with object (typeid %d, guid %d, mapid %d, instanceid %d) who is not in world!", id, obj->GetTypeId(), obj->GetGUIDLow(), obj->GetMapId(), obj->GetInstanceId()); Map *m = _createBaseMap(id); - if (m && obj && m->Instanceable()) m = ((MapInstanced*)m)->GetInstance(obj); + if (m && (obj->GetTypeId() == TYPEID_PLAYER) && m->Instanceable()) m = ((MapInstanced*)m)->CreateInstance(id, (Player*)obj); return m; } |