From f08fb7293382dbaf240860119d128486ada62221 Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Sat, 21 Oct 2017 14:40:20 +0200 Subject: Improve short paths and do some refactoring. --- src/path_finder.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/path_finder.cpp') diff --git a/src/path_finder.cpp b/src/path_finder.cpp index ab300dc..8ca0ccc 100644 --- a/src/path_finder.cpp +++ b/src/path_finder.cpp @@ -78,10 +78,13 @@ void path_finder_t::find_r(tile_index_t index, float dist) path.pop_back(); } -void path_finder_t::find(void) +bool path_finder_t::find(void) { tile_index_t start; + if ((src - dst).len() < 1.0f) + return true; + start = tile_index_at(src) - base; nodes[start[1] * width + start[0]].accessible = false; @@ -98,21 +101,18 @@ void path_finder_t::find(void) find_r(next, v2f_t(offset).len()); } + + return shortest_path.size() > 0; } -bool path_finder_t::export_path(std::list *list) +void path_finder_t::export_path(std::list *list) { - if (!shortest_path.size()) - return false; - list->clear(); for (tile_index_t &index : shortest_path) list->push_back(v2f_t(index + base) + tile_center); list->push_back(dst); - - return true; } } // namespace world -- cgit