[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:
ManDude
2022-04-18 20:01:44 +01:00
committed by GitHub
parent cbc6987351
commit 66e395d547
109 changed files with 952 additions and 1398 deletions
+1 -1
View File
@@ -1698,7 +1698,7 @@
(let ((f1-14 (analog-input (the-as int (-> *cpad-list* cpads 0 leftx)) 128.0 32.0 110.0 28.0)))
(+! (-> self paddle-vel) (* f1-14 (-> *display* seconds-per-frame)))
)
(set! (-> self paddle-vel) (seek (-> self paddle-vel) 0.0 (* 15.0 (-> *display* seconds-per-frame))))
(seek! (-> self paddle-vel) 0.0 (* 15.0 (-> *display* seconds-per-frame)))
(set! (-> self paddle-vel) (fmax -2.0 (fmin 2.0 (-> self paddle-vel))))
(+! (-> self paddle) (* (-> self paddle-vel) (-> *display* seconds-per-frame)))
(set! (-> self paddle) (fmax 0.0 (fmin 1.0 (-> self paddle))))
+7 -21
View File
@@ -1463,15 +1463,9 @@
1
(the-as symbol (-> self base))
)
(set! (-> self y-offset)
(seek (-> self y-offset) (-> self height) (* 16384.0 (-> *display* seconds-per-frame)))
)
(set! (-> self turn)
(seek (-> self turn) (-> self target-turn) (* 7281.778 (-> *display* seconds-per-frame)))
)
(set! (-> self tilt)
(seek (-> self tilt) (-> self target-tilt) (* 7281.778 (-> *display* seconds-per-frame)))
)
(seek! (-> self y-offset) (-> self height) (* 16384.0 (-> *display* seconds-per-frame)))
(seek! (-> self turn) (-> self target-turn) (* 7281.778 (-> *display* seconds-per-frame)))
(seek! (-> self tilt) (-> self target-tilt) (* 7281.778 (-> *display* seconds-per-frame)))
(set! (-> self raised?) (< (+ -12288.0 (-> self height)) (-> self y-offset)))
(periscope-update-joints)
(suspend)
@@ -1493,9 +1487,7 @@
(set! (-> self raised?) #t)
(let ((f30-0 (+ -20480.0 (-> self height))))
(until (= (-> self y-offset-grips) f30-0)
(set! (-> self y-offset-grips)
(seek (-> self y-offset-grips) f30-0 (* 16384.0 (-> *display* seconds-per-frame)))
)
(seek! (-> self y-offset-grips) f30-0 (* 16384.0 (-> *display* seconds-per-frame)))
(periscope-update-joints)
(suspend)
)
@@ -1582,9 +1574,7 @@
1
(the-as symbol (-> self grips transform))
)
(set! (-> self y-offset-grips)
(seek (-> self y-offset-grips) f30-0 (* 16384.0 (-> *display* seconds-per-frame)))
)
(seek! (-> self y-offset-grips) f30-0 (* 16384.0 (-> *display* seconds-per-frame)))
(periscope-update-joints)
(suspend)
)
@@ -1604,9 +1594,7 @@
(when (and *target* (>= f30-1 (vector-vector-distance a0-10 (-> *target* control trans))))
(when (logtest? (-> *target* control status) 1)
(let ((f0-7 (fmax 4096.0 (fmin 12288.0 (+ (- 5120.0 (-> self base y)) (-> *target* control trans y))))))
(set! (-> self y-offset-grips)
(seek (-> self y-offset-grips) f0-7 (* 16384.0 (-> *display* seconds-per-frame)))
)
(seek! (-> self y-offset-grips) f0-7 (* 16384.0 (-> *display* seconds-per-frame)))
)
)
(vector-! gp-1 (target-pos 0) (-> self base))
@@ -1935,9 +1923,7 @@
(set! (-> self tilt) (-> self target-tilt))
(let ((f30-0 (+ -20480.0 (-> self height))))
(until (= (-> self y-offset-grips) f30-0)
(set! (-> self y-offset-grips)
(seek (-> self y-offset-grips) f30-0 (* 16384.0 (-> *display* seconds-per-frame)))
)
(seek! (-> self y-offset-grips) f30-0 (* 16384.0 (-> *display* seconds-per-frame)))
(periscope-update-joints)
(sound-play-by-name
(static-sound-name "site-moves")