diff options
| author | Shauren <shauren.trinity@gmail.com> | 2018-03-03 14:29:53 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2018-03-25 19:28:36 +0300 |
| commit | 3743d042017d72435d2ff8135f66808988beaf9e (patch) | |
| tree | 2100274d7035a2bb8a616bd971520f457e5d3846 /src/server/game | |
| parent | 6d5e25ddd45dc78894daa000c0b122a44bbdbaf6 (diff) | |
Core/MMaps: Implemented loading phased tiles
Closes #16909
Diffstat (limited to 'src/server/game')
| -rw-r--r-- | src/server/game/Maps/Map.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Movement/PathGenerator.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/World/World.cpp | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index c3e1aa744d3..0e161abdf98 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -144,7 +144,7 @@ void Map::LoadMMap(int gx, int gy) if (!DisableMgr::IsPathfindingEnabled(GetId())) return; - bool mmapLoadResult = MMAP::MMapFactory::createOrGetMMapManager()->loadMap((sWorld->GetDataPath() + "mmaps").c_str(), GetId(), gx, gy); + bool mmapLoadResult = MMAP::MMapFactory::createOrGetMMapManager()->loadMap(sWorld->GetDataPath(), GetId(), gx, gy); if (mmapLoadResult) TC_LOG_DEBUG("mmaps", "MMAP loaded name:%s, id:%d, x:%d, y:%d (mmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy); @@ -306,6 +306,8 @@ i_scriptLock(false), _defaultLight(DB2Manager::GetDefaultMapLight(id)) GetGuidSequenceGenerator<HighGuid::Transport>().Set(sObjectMgr->GetGenerator<HighGuid::Transport>().GetNextAfterMaxUsed()); + MMAP::MMapFactory::createOrGetMMapManager()->loadMapInstance(sWorld->GetDataPath(), GetId(), i_InstanceId); + sScriptMgr->OnCreateMap(this); } diff --git a/src/server/game/Movement/PathGenerator.cpp b/src/server/game/Movement/PathGenerator.cpp index 6c9e1cd01d9..16cfe366f4e 100644 --- a/src/server/game/Movement/PathGenerator.cpp +++ b/src/server/game/Movement/PathGenerator.cpp @@ -39,8 +39,8 @@ PathGenerator::PathGenerator(const Unit* owner) : TC_LOG_DEBUG("maps", "++ PathGenerator::PathGenerator for %s", _sourceUnit->GetGUID().ToString().c_str()); - uint32 mapId = _sourceUnit->GetMapId(); - if (DisableMgr::IsPathfindingEnabled(mapId)) + uint32 mapId = _sourceUnit->GetPhaseShift().GetTerrainMapId(_sourceUnit->GetMapId(), _sourceUnit->GetPositionX(), _sourceUnit->GetPositionY()); + if (DisableMgr::IsPathfindingEnabled(_sourceUnit->GetMapId())) { MMAP::MMapManager* mmap = MMAP::MMapFactory::createOrGetMMapManager(); _navMesh = mmap->GetNavMesh(mapId); diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 9e73cc8d532..760ec282bd7 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1575,11 +1575,9 @@ void World::SetInitialWorldSettings() //Load weighted graph on taxi nodes path sTaxiPathGraph.Initialize(); - std::vector<uint32> mapIds; std::unordered_map<uint32, std::vector<uint32>> mapData; for (MapEntry const* mapEntry : sMapStore) { - mapIds.push_back(mapEntry->ID); mapData.emplace(std::piecewise_construct, std::forward_as_tuple(mapEntry->ID), std::forward_as_tuple()); if (mapEntry->ParentMapID != -1) mapData[mapEntry->ParentMapID].push_back(mapEntry->ID); @@ -1591,7 +1589,7 @@ void World::SetInitialWorldSettings() vmmgr2->InitializeThreadUnsafe(mapData); MMAP::MMapManager* mmmgr = MMAP::MMapFactory::createOrGetMMapManager(); - mmmgr->InitializeThreadUnsafe(mapIds); + mmmgr->InitializeThreadUnsafe(mapData); TC_LOG_INFO("server.loading", "Loading SpellInfo store..."); sSpellMgr->LoadSpellInfoStore(); |
