From 4267816fca55b137bf4c7e4e530816dc5c4e7d43 Mon Sep 17 00:00:00 2001 From: megamage Date: Tue, 11 Aug 2009 15:40:43 -0500 Subject: *A temp fix of the crashes caused by corpses. --HG-- branch : trunk --- src/game/Object.cpp | 4 ++-- src/game/ObjectGridLoader.cpp | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/game') diff --git a/src/game/Object.cpp b/src/game/Object.cpp index 6837570bfea..3f6b34a20bb 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -1692,14 +1692,14 @@ void WorldObject::SendObjectDeSpawnAnim(uint64 guid) void WorldObject::SetMap(Map * map) { ASSERT(map); - ASSERT(!IsInWorld()); + ASSERT(!IsInWorld() || GetTypeId() == TYPEID_CORPSE); m_currMap = map; } void WorldObject::ResetMap() { ASSERT(m_currMap); - ASSERT(!IsInWorld()); + ASSERT(!IsInWorld() || GetTypeId() == TYPEID_CORPSE); m_currMap = NULL; } diff --git a/src/game/ObjectGridLoader.cpp b/src/game/ObjectGridLoader.cpp index c55bf0106b0..2399019237f 100644 --- a/src/game/ObjectGridLoader.cpp +++ b/src/game/ObjectGridLoader.cpp @@ -177,6 +177,10 @@ void LoadHelper(CellCorpseSet const& cell_corpses, CellPair &cell, CorpseMapType if(!obj) continue; + // TODO: this is a hack + // corpse's map should be reset when the map is unloaded + obj->SetMap(map); + AddObjectHelper(cell, m, count, map, obj); } } -- cgit v1.2.3