From 599ad97b65139ad450e6f89e39b787c881f76672 Mon Sep 17 00:00:00 2001 From: wiseoldman95 Date: Sun, 3 May 2015 09:45:27 +0300 Subject: PathFinder - Crash fix, chunks in parameters are now references --- src/Mobs/Path.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src/Mobs/Path.cpp') diff --git a/src/Mobs/Path.cpp b/src/Mobs/Path.cpp index 32eff9d2b..f414b4c9e 100644 --- a/src/Mobs/Path.cpp +++ b/src/Mobs/Path.cpp @@ -35,17 +35,16 @@ bool compareHeuristics::operator()(cPathCell * & a_Cell1, cPathCell * & a_Cell2) /* cPath implementation */ cPath::cPath( - cChunk * a_Chunk, + cChunk & a_Chunk, const Vector3d & a_StartingPoint, const Vector3d & a_EndingPoint, int a_MaxSteps, double a_BoundingBoxWidth, double a_BoundingBoxHeight, int a_MaxUp, int a_MaxDown ) { - ASSERT(m_Chunk != nullptr); // TODO: if src not walkable OR dest not walkable, then abort. // Borrow a new "isWalkable" from ProcessIfWalkable, make ProcessIfWalkable also call isWalkable - m_Chunk = a_Chunk; + m_Chunk = &a_Chunk; m_Source = a_StartingPoint.Floor(); m_Destination = a_EndingPoint.Floor(); @@ -80,10 +79,9 @@ cPath::~cPath() -ePathFinderStatus cPath::Step(cChunk * a_Chunk) +ePathFinderStatus cPath::Step(cChunk & a_Chunk) { - m_Chunk = a_Chunk; - ASSERT(m_Chunk != nullptr); + m_Chunk = &a_Chunk; if (m_Status != ePathFinderStatus::CALCULATING) { return m_Status; -- cgit v1.2.3