summaryrefslogtreecommitdiff
path: root/core/math
diff options
context:
space:
mode:
authorShiqing <shiqing-thu18@yandex.com>2019-11-08 20:32:50 +0800
committerShiqing <shiqing-thu18@yandex.com>2019-11-08 20:32:50 +0800
commitaac7ddf89f5ddc3fa69052bf13b2dd2c94236227 (patch)
treea748d3d411ef80dd9f25bfd1a31afd00a983122c /core/math
parent621dc7022f9b9e09790481d8915858fa4d007ba4 (diff)
Emit an error rather than crash in A*
Diffstat (limited to 'core/math')
-rw-r--r--core/math/a_star.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/core/math/a_star.cpp b/core/math/a_star.cpp
index 810e290922..bfa8b90344 100644
--- a/core/math/a_star.cpp
+++ b/core/math/a_star.cpp
@@ -184,11 +184,11 @@ void AStar::disconnect_points(int p_id, int p_with_id, bool bidirectional) {
Point *a;
bool a_exists = points.lookup(p_id, a);
- CRASH_COND(!a_exists);
+ ERR_FAIL_COND(!a_exists);
Point *b;
bool b_exists = points.lookup(p_with_id, b);
- CRASH_COND(!b_exists);
+ ERR_FAIL_COND(!b_exists);
Segment s(p_id, p_with_id);
int remove_direction = bidirectional ? (int)Segment::BIDIRECTIONAL : s.direction;
@@ -406,11 +406,11 @@ float AStar::_estimate_cost(int p_from_id, int p_to_id) {
Point *from_point;
bool from_exists = points.lookup(p_from_id, from_point);
- CRASH_COND(!from_exists);
+ ERR_FAIL_COND_V(!from_exists, 0);
Point *to_point;
bool to_exists = points.lookup(p_to_id, to_point);
- CRASH_COND(!to_exists);
+ ERR_FAIL_COND_V(!to_exists, 0);
return from_point->pos.distance_to(to_point->pos);
}
@@ -422,11 +422,11 @@ float AStar::_compute_cost(int p_from_id, int p_to_id) {
Point *from_point;
bool from_exists = points.lookup(p_from_id, from_point);
- CRASH_COND(!from_exists);
+ ERR_FAIL_COND_V(!from_exists, 0);
Point *to_point;
bool to_exists = points.lookup(p_to_id, to_point);
- CRASH_COND(!to_exists);
+ ERR_FAIL_COND_V(!to_exists, 0);
return from_point->pos.distance_to(to_point->pos);
}