aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-03-03 14:29:53 +0100
committerShauren <shauren.trinity@gmail.com>2018-03-25 19:28:36 +0300
commit3743d042017d72435d2ff8135f66808988beaf9e (patch)
tree2100274d7035a2bb8a616bd971520f457e5d3846 /src/server/game
parent6d5e25ddd45dc78894daa000c0b122a44bbdbaf6 (diff)
Core/MMaps: Implemented loading phased tiles
Closes #16909
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/Maps/Map.cpp4
-rw-r--r--src/server/game/Movement/PathGenerator.cpp4
-rw-r--r--src/server/game/World/World.cpp4
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();