diff --git a/goal_src/jak1/engine/nav/navigate.gc b/goal_src/jak1/engine/nav/navigate.gc index 2a26b2f917..39d2612c17 100644 --- a/goal_src/jak1/engine/nav/navigate.gc +++ b/goal_src/jak1/engine/nav/navigate.gc @@ -1310,7 +1310,8 @@ (let ((sv-96 (-> sv-80 sphere (-> sv-80 num-spheres))) (f1-3 (vector-vector-xz-distance-squared sv-112 (-> sv-80 shape trans))) (f0-9 (+ (-> sv-112 w) (-> sv-80 shape nav-radius)))) - (when (< f1-3 (square (+ 40960.0 f0-9))) + ;; og:preserve-this added a NaN check here. it seems like some enemies have bogus positions (maybe on their first frame?) + (when (and (< f1-3 (square (+ 40960.0 f0-9))) (not (is-nan? (-> sv-112 x)))) (vector-! (the-as vector sv-96) sv-112 (-> sv-80 mesh origin)) (set! (-> sv-96 w) f0-9) (+! (-> sv-80 num-spheres) 1)))))