diff --git a/src/Ai/Base/Trigger/StuckTriggers.cpp b/src/Ai/Base/Trigger/StuckTriggers.cpp index b6ade75d8..0829a2394 100644 --- a/src/Ai/Base/Trigger/StuckTriggers.cpp +++ b/src/Ai/Base/Trigger/StuckTriggers.cpp @@ -8,7 +8,7 @@ #include "CellImpl.h" #include "PathGenerator.h" #include "Playerbots.h" -#include "MMapFactory.h" +#include "MapCollisionData.h" bool MoveStuckTrigger::IsActive() { @@ -89,8 +89,7 @@ bool MoveLongStuckTrigger::IsActive() return true; } - if (cell.GridX() > 0 && cell.GridY() > 0 && - !MMAP::MMapFactory::createOrGetMMapMgr()->loadMap(botPos.GetMapId(), cell.GridX(), cell.GridY())) + if (bot->GetMap()->IsGridCreated(GridCoord(cell.GridX(), cell.GridY()))) { // LOG_INFO("playerbots", "Bot {} {}:{} <{}> was in unloaded grid {},{} on map {}", // bot->GetGUID().ToString().c_str(), bot->GetTeamId() == TEAM_ALLIANCE ? "A" : "H", bot->GetLevel(), diff --git a/src/Mgr/Travel/TravelMgr.cpp b/src/Mgr/Travel/TravelMgr.cpp index d6942deab..7a5ac4f2e 100644 --- a/src/Mgr/Travel/TravelMgr.cpp +++ b/src/Mgr/Travel/TravelMgr.cpp @@ -14,7 +14,7 @@ #include "TravelNode.h" #include "Talentspec.h" #include "ChatHelper.h" -#include "MMapFactory.h" +#include "MapCollisionData.h" #include "MapMgr.h" #include "PathGenerator.h" #include "Playerbots.h" @@ -687,10 +687,11 @@ std::vector WorldPosition::frommGridCoord(mGridCoord GridCoord) return retVec; } +// TODO: Cleanup — make this actually work. void WorldPosition::loadMapAndVMap(uint32 mapId, uint8 x, uint8 y) { std::string const fileName = "load_map_grid.csv"; - +/* if (isOverworld() && false || false) { if (!MMAP::MMapFactory::createOrGetMMapMgr()->loadMap(mapId, x, y)) @@ -745,22 +746,22 @@ void WorldPosition::loadMapAndVMap(uint32 mapId, uint8 x, uint8 y) sPlayerbotAIConfig.log(fileName, out.str().c_str()); } } +*/ + if (!TravelMgr::instance().isBadMmap(mapId, x, y)) + { + // load navmesh + Map* map = getMap(); + if (map && map->GetMapCollisionData().LoadMMapTile(x, y) == MMAP::MMAP_LOAD_RESULT_ERROR) + TravelMgr::instance().addBadMmap(mapId, x, y); - if (!TravelMgr::instance().isBadMmap(mapId, x, y)) + if (sPlayerbotAIConfig.hasLog(fileName)) { - // load navmesh - if (!MMAP::MMapFactory::createOrGetMMapMgr()->loadMap(mapId, x, y)) - TravelMgr::instance().addBadMmap(mapId, x, y); - - if (sPlayerbotAIConfig.hasLog(fileName)) - { - std::ostringstream out; - out << sPlayerbotAIConfig.GetTimestampStr(); - out << "+00,\"mmap\", " << x << "," << y << "," << (TravelMgr::instance().isBadMmap(mapId, x, y) ? "0" : "1") - << ","; - printWKT(fromGridCoord(GridCoord(x, y)), out, 1, true); - sPlayerbotAIConfig.log(fileName, out.str().c_str()); - } + std::ostringstream out; + out << sPlayerbotAIConfig.GetTimestampStr(); + out << "+00,\"mmap\", " << x << "," << y << "," << (TravelMgr::instance().isBadMmap(mapId, x, y) ? "0" : "1") + << ","; + printWKT(fromGridCoord(GridCoord(x, y)), out, 1, true); + sPlayerbotAIConfig.log(fileName, out.str().c_str()); } } }