From 405d31ecfc604fcf39c043836122a8a6313919c2 Mon Sep 17 00:00:00 2001 From: Benau Date: Mon, 4 Jan 2016 16:10:38 +0800 Subject: [PATCH] Better pointInPoly --- src/tracks/battle_graph.cpp | 6 +----- src/tracks/nav_poly.cpp | 4 ++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/tracks/battle_graph.cpp b/src/tracks/battle_graph.cpp index 10d737fd7..8172e903a 100644 --- a/src/tracks/battle_graph.cpp +++ b/src/tracks/battle_graph.cpp @@ -138,11 +138,7 @@ void BattleGraph::findItemsOnGraphNodes() for (unsigned int j = 0; j < this->getNumNodes(); ++j) { if (NavMesh::get()->getNavPoly(j).pointInPoly(xyz)) - { - float dist = xyz.getY() - NavMesh::get()->getCenterOfPoly(j).getY(); - if (fabsf(dist) < 1.0f ) - polygon = j; - } + polygon = j; } if (polygon != BattleGraph::UNKNOWN_POLY) diff --git a/src/tracks/nav_poly.cpp b/src/tracks/nav_poly.cpp index 39903464f..69d726a82 100644 --- a/src/tracks/nav_poly.cpp +++ b/src/tracks/nav_poly.cpp @@ -70,6 +70,10 @@ bool NavPoly::pointInPoly(const Vec3& p) const return false; } + // Check for vertical distance too + const float dist = p.getY() - m_center.getY(); + if (fabsf(dist) > 1.0f ) + return false; return true; }