diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-07-24 18:56:40 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-07-24 18:56:40 +0200 |
| commit | fbe0b8efebca3bc2662b477bdf45627f9783d6c2 (patch) | |
| tree | 6f5662045be0c4e5f06d8a97f9669b7f93cf2df1 /src/server/game/Movement | |
| parent | 8f2c5413d7a3775a304c793653d41caabf3ba997 (diff) | |
Core/Maps: Removed MapInstanced - no longer neccessary for grid data reference counting (moved to TerrainInfo)
Diffstat (limited to 'src/server/game/Movement')
3 files changed, 9 insertions, 6 deletions
diff --git a/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp index a58b6b7f824..b34809b2f51 100644 --- a/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp @@ -19,7 +19,7 @@ #include "DB2Stores.h" #include "GameEventSender.h" #include "Log.h" -#include "MapManager.h" +#include "Map.h" #include "MovementDefines.h" #include "MoveSpline.h" #include "MoveSplineInit.h" @@ -132,7 +132,7 @@ bool FlightPathMovementGenerator::DoUpdate(Player* owner, uint32 /*diff*/) break; if (_currentNode == _preloadTargetNode) - PreloadEndGrid(); + PreloadEndGrid(owner); _currentNode += departureEvent ? 1 : 0; departureEvent = !departureEvent; @@ -284,14 +284,18 @@ void FlightPathMovementGenerator::InitEndGridInfo() _preloadTargetNode = 0; else _preloadTargetNode = nodeCount - 3; + + while (_path[_preloadTargetNode]->ContinentID != _endMapId) + ++_preloadTargetNode; + _endGridX = _path[nodeCount - 1]->Loc.X; _endGridY = _path[nodeCount - 1]->Loc.Y; } -void FlightPathMovementGenerator::PreloadEndGrid() +void FlightPathMovementGenerator::PreloadEndGrid(Player* owner) { // Used to preload the final grid where the flightmaster is - Map* endMap = sMapMgr->FindBaseNonInstanceMap(_endMapId); + Map* endMap = owner->GetMap(); // Load the grid if (endMap) diff --git a/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.h b/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.h index 7252b1effe1..10bbab589e2 100644 --- a/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.h +++ b/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.h @@ -54,7 +54,7 @@ class FlightPathMovementGenerator : public MovementGeneratorMedium<Player, Fligh void SkipCurrentNode() { ++_currentNode; } void DoEventIfAny(Player* owner, TaxiPathNodeEntry const* node, bool departure); void InitEndGridInfo(); - void PreloadEndGrid(); + void PreloadEndGrid(Player* owner); std::string GetDebugInfo() const override; diff --git a/src/server/game/Movement/Waypoints/WaypointManager.cpp b/src/server/game/Movement/Waypoints/WaypointManager.cpp index a7c76ad3c90..182f7c35065 100644 --- a/src/server/game/Movement/Waypoints/WaypointManager.cpp +++ b/src/server/game/Movement/Waypoints/WaypointManager.cpp @@ -18,7 +18,6 @@ #include "WaypointManager.h" #include "DatabaseEnv.h" #include "GridDefines.h" -#include "MapManager.h" #include "Log.h" void WaypointMgr::Load() |
