From a98ada98eccb3c27e8ddecaa68fef9f6e66a5201 Mon Sep 17 00:00:00 2001 From: water111 <48171810+water111@users.noreply.github.com> Date: Mon, 30 May 2022 18:58:30 -0400 Subject: [PATCH] [game] fix flava triggering on nans (#1391) * [game] fix flava triggering on nans * fix build --- goal_src/engine/game/task/process-taskable.gc | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/goal_src/engine/game/task/process-taskable.gc b/goal_src/engine/game/task/process-taskable.gc index 68d5eb84f4..fc23132859 100644 --- a/goal_src/engine/game/task/process-taskable.gc +++ b/goal_src/engine/game/task/process-taskable.gc @@ -5,6 +5,17 @@ ;; name in dgo: process-taskable ;; dgos: GAME, ENGINE +(defmacro is-nan-hack (flt) + `(and (< 0.0 ,flt) (< ,flt 0.0)) + ) + +(defmacro less-than-hack (a b) + `(if (is-nan-hack ,a) + #f + (< ,a ,b) + ) + ) + ;; DECOMP BEGINS (defmethod dummy-52 process-taskable ((obj process-taskable)) @@ -160,7 +171,8 @@ ) (set! (-> s5-1 y) (* 4.0 (-> s5-1 y))) (cond - ((< (vector-length s5-1) 102400.0) + ;; s5-1 can be nan on the first frame after something spawns + ((less-than-hack (vector-length s5-1) 102400.0) (when (not (-> obj have-flava)) (set! (-> obj have-flava) #t) (set-setting! *setting-control* pp 'sound-flava #f 20.0 (the-as int (-> obj sound-flava))) @@ -901,17 +913,6 @@ #t ) -(defmacro is-nan-hack (flt) - `(and (< 0.0 ,flt) (< ,flt 0.0)) - ) - -(defmacro less-than-hack (a b) - `(if (is-nan-hack ,a) - #f - (< ,a ,b) - ) - ) - (defstate idle (process-taskable) :virtual #t :event