mirror of
https://github.com/open-goal/jak-project
synced 2026-07-27 23:00:42 -04:00
[decompiler] detect seek! and seekl! macros (#1317)
* detect `seek!` and `seekl!` * fancy struct instead of pair mess * fixes * i think this was wrong? * update refs * update source * More logical branching * even better branching
This commit is contained in:
+2
-2
@@ -767,13 +767,13 @@
|
||||
)
|
||||
(cond
|
||||
((>= (- (-> *display* base-frame-counter) (-> self start-spin-time)) (-> self slow-down))
|
||||
(set! (-> self speed-u) (seek (-> self speed-u) 0.0 (* 0.5555556 (-> *display* seconds-per-frame))))
|
||||
(seek! (-> self speed-u) 0.0 (* 0.5555556 (-> *display* seconds-per-frame)))
|
||||
(if (= (-> self speed-u) 0.0)
|
||||
(go bully-stop-spinning)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! (-> self speed-u) (seek (-> self speed-u) 1.0 (* 0.5555556 (-> *display* seconds-per-frame))))
|
||||
(seek! (-> self speed-u) 1.0 (* 0.5555556 (-> *display* seconds-per-frame)))
|
||||
)
|
||||
)
|
||||
(set! (-> self spin-vel) (* 196608.0 (-> self speed-u)))
|
||||
|
||||
+1
-1
@@ -745,7 +745,7 @@
|
||||
)
|
||||
:trans
|
||||
(behavior ()
|
||||
(set! (-> self root scale y) (seek (-> self root scale y) 0.8 (* 0.667 (-> *display* seconds-per-frame))))
|
||||
(seek! (-> self root scale y) 0.8 (* 0.667 (-> *display* seconds-per-frame)))
|
||||
(when *target*
|
||||
(let ((f0-4 (-> (target-pos 0) y)))
|
||||
(when (zero? (logand (-> *target* state-flags) 256))
|
||||
|
||||
+4
-4
@@ -1095,7 +1095,7 @@
|
||||
(joint-control-channel-group! a0-32 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!)
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(set! (-> self wave-scale) (seek (-> self wave-scale) 1.0 0.0016666667))
|
||||
(seek! (-> self wave-scale) 1.0 0.0016666667)
|
||||
(dummy-20 self (-> self wave-scale))
|
||||
(if (and (-> self move-player?) (>= (ja-aframe-num 0) 310.0))
|
||||
(set! (-> self move-player?) #f)
|
||||
@@ -1130,7 +1130,7 @@
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5))
|
||||
(set! (-> self wave-scale) (seek (-> self wave-scale) 1.0 0.0016666667))
|
||||
(seek! (-> self wave-scale) 1.0 0.0016666667)
|
||||
(dummy-20 self (-> self wave-scale))
|
||||
(suspend)
|
||||
)
|
||||
@@ -1139,7 +1139,7 @@
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 2.5))
|
||||
(set! (-> self wave-scale) (seek (-> self wave-scale) 1.0 0.0016666667))
|
||||
(seek! (-> self wave-scale) 1.0 0.0016666667)
|
||||
(dummy-20 self (-> self wave-scale))
|
||||
(suspend)
|
||||
)
|
||||
@@ -1264,7 +1264,7 @@
|
||||
(if (not (-> self move-player?))
|
||||
(rider-trans)
|
||||
)
|
||||
(set! (-> self wave-scale) (seek (-> self wave-scale) 0.0 0.0016666667))
|
||||
(seek! (-> self wave-scale) 0.0 0.0016666667)
|
||||
(dummy-20 self (-> self wave-scale))
|
||||
(none)
|
||||
)
|
||||
|
||||
+2
-2
@@ -141,7 +141,7 @@
|
||||
(cond
|
||||
((< (get-current-phase (-> self sync)) (-> self deadly-time))
|
||||
(when (!= (-> self deadly-fade) 1.0)
|
||||
(set! (-> self deadly-fade) (seek (-> self deadly-fade) 1.0 (* 8.0 (-> *display* seconds-per-frame))))
|
||||
(seek! (-> self deadly-fade) 1.0 (* 8.0 (-> *display* seconds-per-frame)))
|
||||
(let ((f30-0 (-> self deadly-fade)))
|
||||
(vector-lerp! (-> self draw color-mult) (-> self safe-color-mult) (-> self deadly-color-mult) f30-0)
|
||||
(vector-lerp!
|
||||
@@ -166,7 +166,7 @@
|
||||
(else
|
||||
(set! (-> self flags) (logand -524289 (-> self flags)))
|
||||
(when (!= (-> self deadly-fade) 0.0)
|
||||
(set! (-> self deadly-fade) (seek (-> self deadly-fade) 0.0 (* 8.0 (-> *display* seconds-per-frame))))
|
||||
(seek! (-> self deadly-fade) 0.0 (* 8.0 (-> *display* seconds-per-frame)))
|
||||
(let ((f30-1 (-> self deadly-fade)))
|
||||
(vector-lerp! (-> self draw color-mult) (-> self safe-color-mult) (-> self deadly-color-mult) f30-1)
|
||||
(vector-lerp!
|
||||
|
||||
+12
-15
@@ -180,15 +180,14 @@
|
||||
|
||||
;; definition for function tube-sounds
|
||||
(defbehavior tube-sounds target ()
|
||||
(set! (-> self tube tube-sound-vol) (seek
|
||||
(-> self tube tube-sound-vol)
|
||||
(if (logtest? (-> self control status) 1)
|
||||
100.0
|
||||
0.0
|
||||
)
|
||||
(* 200.0 (-> *display* seconds-per-frame))
|
||||
)
|
||||
(seek!
|
||||
(-> self tube tube-sound-vol)
|
||||
(if (logtest? (-> self control status) 1)
|
||||
100.0
|
||||
0.0
|
||||
)
|
||||
(* 200.0 (-> *display* seconds-per-frame))
|
||||
)
|
||||
(let ((f30-0 (-> self tube tube-sound-vol))
|
||||
(f0-5 (lerp-scale -0.3 0.3 (-> self control unknown-float01) 0.0 122880.0))
|
||||
)
|
||||
@@ -727,13 +726,11 @@
|
||||
(go target-tube)
|
||||
)
|
||||
(mod-var-jump #t #t (cpad-hold? (-> self control unknown-cpad-info00 number) x) (-> self control transv))
|
||||
(set! (-> self control unknown-float122)
|
||||
(seek
|
||||
(-> self control unknown-float122)
|
||||
(fmax 0.0 (fmin 1.0 (* 0.00012207031 (+ -2048.0 (-> self control unknown-float01)))))
|
||||
(-> *display* seconds-per-frame)
|
||||
)
|
||||
)
|
||||
(seek!
|
||||
(-> self control unknown-float122)
|
||||
(fmax 0.0 (fmin 1.0 (* 0.00012207031 (+ -2048.0 (-> self control unknown-float01)))))
|
||||
(-> *display* seconds-per-frame)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:code
|
||||
|
||||
+2
-2
@@ -93,7 +93,7 @@
|
||||
(restore-collide-with-as (-> self root-override))
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(while #t
|
||||
(set! (-> self extended-amount) (seek (-> self extended-amount) 1.0 (* 2.5 (-> *display* seconds-per-frame))))
|
||||
(seek! (-> self extended-amount) 1.0 (* 2.5 (-> *display* seconds-per-frame)))
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-lerp! gp-0 (-> self in-trans) (-> self out-trans) (-> self extended-amount))
|
||||
(move-to-point! (-> self root-override) gp-0)
|
||||
@@ -155,7 +155,7 @@
|
||||
(behavior ()
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(while #t
|
||||
(set! (-> self extended-amount) (seek (-> self extended-amount) 0.0 (* 2.5 (-> *display* seconds-per-frame))))
|
||||
(seek! (-> self extended-amount) 0.0 (* 2.5 (-> *display* seconds-per-frame)))
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-lerp! gp-0 (-> self in-trans) (-> self out-trans) (-> self extended-amount))
|
||||
(move-to-point! (-> self root-override) gp-0)
|
||||
|
||||
Reference in New Issue
Block a user