decomp: Re-attempting previously blocked state decomp files (#907)

* blocked: `part-tester` - `code` handler thinks it returns nothing

* blocked: `crates` finished but `go` is returning none causing issues

* blocked: `(event ram-boss-idle)::snow-ram-boss` expression building fails due to delay slot issue

* decomp: finish `snow-ram` | `seagull` blocked, new static data issue

* decomp: finish `snow-bumper`

* stuck: `snow-ball` close, can't figure out a type made on the stack

* decomp: finish `spider-egg`

* decomp: finish `puffer`

* decomp: finish `driller-lurker`

* decomp: finish `dark-crystal`

* stuck: `kermit` - mostly done but stuck on a joint related callback arg

* decomp: finish `gnawer`

* decomp: finish `mother-spider-egg`

* decomp: finish `swamp-blimp`

* stuck: `mistycannon` prebind function signature

* decomp: finish `citb-plat`

* decomp: finish `darkvine`

* blocked: `jungle-mirrors` - issues with `link` macro

* decomp: finish `launcherdoor`

* decomp: finish `quicksandlurker` except for 1 unused function

* stuck: `balloonlurker` - `(code balloonlurker-mine-explode)` has some weird joint related code

* stuck: need to decompile an asm func in `orbit-plat`

* decomp: finish `voicebox`

* blocked: `mother-spider` has issues where `go` returns none

* decomp: finish `bully`

* decomp: finish `seagull`

* fixed up after merge conflicts

* decomp: finish `jungle-mirrors`

* update gsrc

* double checked files, fixed issues

* decomp: revert change to projectile methods

* decomp: some more fixes

* address feedback

* fix up remaining method calls in `cam-states`

* fix jungle-mirrors
This commit is contained in:
Tyler Wilding
2021-12-11 13:27:24 -05:00
committed by GitHub
parent fe9c5c10d1
commit 7edfc8bcec
84 changed files with 54467 additions and 19070 deletions
+1 -1
View File
@@ -384,7 +384,7 @@
(if *display-cam-los-debug*
(format *stdcon* "ride edge~%")
)
(let ((s4-2 (new 'stack-no-clear 'collide-mesh-cache-tri))
(let ((s4-2 (new 'stack-no-clear 'collide-tri-result))
(gp-5 (new 'stack-no-clear 'vector))
(s5-2 (new 'stack-no-clear 'vector))
)
+10 -10
View File
@@ -1325,7 +1325,7 @@
(defun cam-string-find-position-rel! ((arg0 vector))
(let ((s5-0 (new 'stack-no-clear 'vector))
(s4-0 (new 'stack-no-clear 'vector))
(s3-0 (new 'stack-no-clear 'bone))
(s3-0 (new 'stack-no-clear 'collide-tri-result))
(f30-0 0.0)
(s2-0 (new 'stack-no-clear 'matrix))
)
@@ -1344,7 +1344,7 @@
(the-as float 409.6)
#x4a09
(the-as process #f)
(the-as collide-mesh-cache-tri s3-0)
s3-0
2
)
0.0
@@ -2608,7 +2608,7 @@
;; definition for function cam-string-find-hidden
;; INFO: Return type mismatch int vs none.
(defbehavior cam-string-find-hidden camera-slave ()
(let ((s4-0 (new 'stack-no-clear 'collide-mesh-cache-tri))
(let ((s4-0 (new 'stack-no-clear 'collide-tri-result))
(s5-0 (new 'stack-no-clear 'vector))
(gp-0 (new 'stack-no-clear 'vector))
)
@@ -2696,7 +2696,7 @@
(s5-2 (new-stack-vector0))
(gp-2 0)
)
(let ((s4-2 (new 'stack-no-clear 'collide-mesh-cache-tri))
(let ((s4-2 (new 'stack-no-clear 'collide-tri-result))
(s3-1 (new 'stack-no-clear 'vector))
)
(when *debug-segment*
@@ -2748,7 +2748,7 @@
)
(vector+float*! (-> self string-trans) (-> self string-trans) s5-2 f0-24)
)
(vector-! s3-1 (-> self string-trans) (-> s4-2 normal))
(vector-! s3-1 (-> self string-trans) (-> s4-2 intersect))
(vector-normalize! s3-1 (the-as float 1.0))
(vector-flatten! (-> self velocity) (-> self velocity) s3-1)
(set! f30-2 (- f30-2 (* f30-2 f28-1)))
@@ -3012,7 +3012,7 @@
(vector+! (-> self desired-pos) (-> self desired-pos) (-> *camera* tpos-curr-adj))
(set! (-> self string-trans quad) (-> self desired-pos quad))
(vector-reset! (-> self velocity))
(let ((s4-0 (new 'stack-no-clear 'collide-mesh-cache-tri))
(let ((s4-0 (new 'stack-no-clear 'collide-tri-result))
(s5-0 (new 'stack-no-clear 'vector))
(gp-1 (new 'stack-no-clear 'vector))
)
@@ -3155,7 +3155,7 @@
(s4-0 4)
(s2-0 0)
)
(let ((s3-0 (new 'stack-no-clear 'collide-mesh-cache-tri)))
(let ((s3-0 (new 'stack-no-clear 'collide-tri-result)))
(while (and
(< 0.01 f30-1)
(and (< (-> *CAMERA-bank* min-detectable-velocity) (vector-length (-> self velocity))) (> s4-0 0))
@@ -3180,7 +3180,7 @@
(cond
((>= f28-0 0.0)
(vector+float*! (-> self trans) (-> self trans) gp-2 f28-0)
(set! (-> s5-0 quad) (-> s3-0 bbox4w min quad))
(set! (-> s5-0 quad) (-> s3-0 normal quad))
(vector-flatten! (-> self velocity) (-> self velocity) s5-0)
(set! f30-1 (- f30-1 (* f30-1 f28-0)))
(set! s2-0 1)
@@ -3439,7 +3439,7 @@
(let ((f30-2 1.0)
(gp-3 (new-stack-vector0))
(s5-3 4)
(s4-3 (new 'stack-no-clear 'collide-mesh-cache-tri))
(s4-3 (new 'stack-no-clear 'collide-tri-result))
)
(while (and
(< 0.01 f30-2)
@@ -3457,7 +3457,7 @@
(cond
((>= f28-0 0.0)
(vector+float*! (-> self trans) (-> self trans) gp-3 f28-0)
(vector-flatten! (-> self velocity) (-> self velocity) (the-as vector (-> s4-3 bbox4w)))
(vector-flatten! (-> self velocity) (-> self velocity) (-> s4-3 normal))
(set! f30-2 (- f30-2 (* f30-2 f28-0)))
(let ((s3-2 (new-stack-vector0)))
(vector-! s3-2 (-> self trans) (-> *camera* tpos-curr-adj))
+51 -51
View File
@@ -427,57 +427,57 @@
;; definition of type camera-slave
(deftype camera-slave (process)
((trans vector :inline :offset-assert 112)
(fov float :offset-assert 128)
(fov0 float :offset-assert 132)
(fov1 float :offset-assert 136)
(fov-index cam-index :inline :offset-assert 144)
(tracking cam-rotation-tracker :inline :offset-assert 192)
(view-off-param float :offset-assert 400)
(unknown-symbol symbol :offset 412)
(view-off vector :inline :offset-assert 416)
(min-z-override float :offset-assert 432)
(view-flat vector :inline :offset-assert 448)
(string-vel-dir uint32 :offset-assert 464)
(string-trans vector :inline :offset-assert 480)
(position-spline tracking-spline :inline :offset-assert 496)
(pivot-pt vector :inline :offset-assert 2144)
(pivot-rad float :offset-assert 2160)
(circular-follow vector :inline :offset-assert 2176)
(max-angle-offset float :offset-assert 2192)
(max-angle-curr float :offset-assert 2196)
(options uint32 :offset-assert 2200)
(cam-entity entity :offset-assert 2204)
(velocity vector :inline :offset-assert 2208)
(desired-pos vector :inline :offset-assert 2224)
(time-dist-too-far uint32 :offset-assert 2240)
(los-state slave-los-state :offset-assert 2244)
(good-point vector :inline :offset-assert 2256)
(los-tgt-spline-pt int32 :offset-assert 2272)
(los-tgt-spline-pt-incarnation int32 :offset-assert 2276)
(los-last-pos vector :inline :offset-assert 2288)
(intro-curve curve :inline :offset-assert 2304)
(intro-offset vector :inline :offset-assert 2336)
(intro-t float :offset-assert 2352)
(intro-t-step float :offset-assert 2356)
(outro-exit-value float :offset-assert 2360)
(spline-exists basic :offset-assert 2364)
(spline-curve curve :inline :offset-assert 2368)
(spline-offset vector :inline :offset-assert 2400)
(index cam-index :inline :offset-assert 2416)
(saved-pt vector :inline :offset-assert 2464)
(spline-tt float :offset-assert 2480)
(spline-follow-dist float :offset-assert 2484)
(change-event-from uint32 :offset-assert 2488)
(enter-has-run symbol :offset-assert 2492)
(blend-from-type uint64 :offset-assert 2496)
(blend-to-type uint64 :offset-assert 2504)
(have-phony-joystick basic :offset-assert 2512)
(phony-joystick-x float :offset-assert 2516)
(phony-joystick-y float :offset-assert 2520)
(string-min-val vector :inline :offset-assert 2528)
(string-max-val vector :inline :offset-assert 2544)
(string-val-locked basic :offset-assert 2560)
((trans vector :inline :offset-assert 112)
(fov float :offset-assert 128)
(fov0 float :offset-assert 132)
(fov1 float :offset-assert 136)
(fov-index cam-index :inline :offset-assert 144)
(tracking cam-rotation-tracker :inline :offset-assert 192)
(view-off-param float :offset-assert 400)
(unknown-symbol symbol :offset 412)
(view-off vector :inline :offset-assert 416)
(min-z-override float :offset-assert 432)
(view-flat vector :inline :offset-assert 448)
(string-vel-dir uint32 :offset-assert 464)
(string-trans vector :inline :offset-assert 480)
(position-spline tracking-spline :inline :offset-assert 496)
(pivot-pt vector :inline :offset-assert 2144)
(pivot-rad float :offset-assert 2160)
(circular-follow vector :inline :offset-assert 2176)
(max-angle-offset float :offset-assert 2192)
(max-angle-curr float :offset-assert 2196)
(options uint32 :offset-assert 2200)
(cam-entity entity :offset-assert 2204)
(velocity vector :inline :offset-assert 2208)
(desired-pos vector :inline :offset-assert 2224)
(time-dist-too-far uint32 :offset-assert 2240)
(los-state slave-los-state :offset-assert 2244)
(good-point vector :inline :offset-assert 2256)
(los-tgt-spline-pt int32 :offset-assert 2272)
(los-tgt-spline-pt-incarnation int32 :offset-assert 2276)
(los-last-pos vector :inline :offset-assert 2288)
(intro-curve curve :inline :offset-assert 2304)
(intro-offset vector :inline :offset-assert 2336)
(intro-t float :offset-assert 2352)
(intro-t-step float :offset-assert 2356)
(outro-exit-value float :offset-assert 2360)
(spline-exists basic :offset-assert 2364)
(spline-curve curve :inline :offset-assert 2368)
(spline-offset vector :inline :offset-assert 2400)
(index cam-index :inline :offset-assert 2416)
(saved-pt vector :inline :offset-assert 2464)
(spline-tt float :offset-assert 2480)
(spline-follow-dist float :offset-assert 2484)
(change-event-from (pointer process-drawable) :offset-assert 2488)
(enter-has-run symbol :offset-assert 2492)
(blend-from-type uint64 :offset-assert 2496)
(blend-to-type uint64 :offset-assert 2504)
(have-phony-joystick basic :offset-assert 2512)
(phony-joystick-x float :offset-assert 2516)
(phony-joystick-y float :offset-assert 2520)
(string-min-val vector :inline :offset-assert 2528)
(string-max-val vector :inline :offset-assert 2544)
(string-val-locked basic :offset-assert 2560)
)
:heap-base #x9a0
:method-count-assert 14
+2 -2
View File
@@ -947,11 +947,11 @@
(cond
(*camera*
(set! (-> self options) (-> *camera* slave-options))
(set! (-> self change-event-from) (-> *camera* changer))
(set! (-> self change-event-from) (the-as (pointer process-drawable) (-> *camera* changer)))
)
(else
(set! (-> self options) (the-as uint 0))
(set! (-> self change-event-from) (the-as uint #f))
(set! (-> self change-event-from) (the-as (pointer process-drawable) #f))
)
)
(cond