decomp: Pass of the final remaining gameplay related files (#921)

* blocked: `plant-boss` has `go` returning none issues

* blocked: `ice-cube` return value getting forced to none

* blocked: `ropebridge` has static data isue

* blocked: `double-lurker` handle cast issues

* decomp: finish `billy`

* decomp: finish `lurkerworm`

* blocked: `pelican` handle casts

* decomp: finish `citb-bunny`

* blocked: inherited states in `snow-bunny`

* blocked: CFG resolution in `lavatube-energy`

* decomp: finish `citadel-sages`

* progress: working through `collectables`

* blocked: finished as much as currently possible in `collectables`

- process-tree's 10 method pparently has a 3rd arg -- im doubtful
- set-to-run function
- branch delay unimplemented case
- weird method 21 eco-collectable

* pre-merge

* decomp: update source files / ref tests

* decomp: finish `floating-launcher`, `shover`, `steam-cap`, `sun-iris-door`, `whirlpool`

* decomp: address feedback

* update ref tests and gsrc
This commit is contained in:
Tyler Wilding
2021-11-14 11:14:43 -05:00
committed by GitHub
parent 97636135c5
commit c8a31d4d1b
57 changed files with 17419 additions and 1291 deletions
+4 -4
View File
@@ -324,7 +324,7 @@
:flag-assert #x1d0000005c
(:methods
(new (symbol type basic uint uint) _type_ 0)
(dummy-28 () none 28)
(dummy-28 (_type_ int) none 28)
)
)
@@ -411,16 +411,16 @@
(dummy-29 (_type_ int) none 29)
(TODO-RENAME-30 (_type_ vector) none 30)
(dummy-31 () none 31)
(dummy-32 () none 32)
(dummy-32 (_type_ float uint) none 32)
(dummy-33 (_type_ vector uint) none 33)
(dummy-34 (_type_ uint) collide-shape-prim 34)
(dummy-35 (_type_) none 35)
(dummy-36 () none 36)
(dummy-37 () none 37)
(dummy-37 (_type_ vector) none 37)
(dummy-38 () none 38)
(dummy-39 () none 39)
(dummy-40 (_type_ structure) none 40)
(dummy-41 () none 41)
(dummy-41 (_type_ attack-info float) none 41)
(dummy-42 () none 42)
(dummy-43 () none 43)
(dummy-44 (_type_) none 44)
+1 -1
View File
@@ -133,7 +133,7 @@
(touched-shape (_type_ collide-shape-moving) collide-shape 10)
(dummy-11 () none 11)
(prims-touching? (_type_ collide-shape-moving uint) touching-prims-entry 12)
(dummy-13 () none 13)
(dummy-13 (_type_ control-info int int) none 13)
(dummy-14 () none 14)
(dummy-15 () none 15)
(get-head (_type_) touching-prims-entry 16)
+4 -1
View File
@@ -69,7 +69,10 @@
a2-0
(*
0.006666667
(the float (- (-> *display* base-frame-counter) (-> arg0 start-time)))
(the
float
(- (-> *display* base-frame-counter) (the-as int (-> arg0 start-time)))
)
)
)
)
+13 -13
View File
@@ -78,19 +78,19 @@
;; definition of type part-tracker
(deftype part-tracker (process)
((root trsqv :offset-assert 112)
(part sparticle-launch-control :offset-assert 116)
(target handle :offset-assert 120)
(callback (function part-tracker none) :offset-assert 128)
(linger-callback (function part-tracker none) :offset-assert 132)
(duration int64 :offset-assert 136)
(linger-duration int64 :offset-assert 144)
(start-time int64 :offset-assert 152)
(offset vector :inline :offset-assert 160)
(userdata uint64 :offset-assert 176)
(user-time int64 2 :offset-assert 184)
(user-vector vector 2 :inline :offset-assert 208)
(user-handle uint32 2 :offset-assert 240)
((root trsqv :offset-assert 112)
(part sparticle-launch-control :offset-assert 116)
(target handle :offset-assert 120)
(callback (function part-tracker vector) :offset-assert 128)
(linger-callback (function part-tracker vector) :offset-assert 132)
(duration uint64 :offset-assert 136)
(linger-duration uint64 :offset-assert 144)
(start-time uint64 :offset-assert 152)
(offset vector :inline :offset-assert 160)
(userdata uint64 :offset-assert 176)
(user-time int64 2 :offset-assert 184)
(user-vector vector 2 :inline :offset-assert 208)
(user-handle uint32 2 :offset-assert 240)
)
:heap-base #x90
:method-count-assert 14
+10 -7
View File
@@ -767,11 +767,11 @@
(defstate part-tracker-process (part-tracker)
:code
(behavior ()
(set! (-> self start-time) (-> *display* base-frame-counter))
(set! (-> self start-time) (the-as uint (-> *display* base-frame-counter)))
(while
(<
(- (-> *display* base-frame-counter) (-> self start-time))
(-> self duration)
(- (-> *display* base-frame-counter) (the-as int (-> self start-time)))
(the-as int (-> self duration))
)
(let ((gp-0 (handle->process (-> self target))))
(when gp-0
@@ -799,7 +799,10 @@
)
(let ((gp-2 (-> *display* base-frame-counter)))
(until
(>= (- (-> *display* base-frame-counter) gp-2) (-> self linger-duration))
(>=
(- (-> *display* base-frame-counter) gp-2)
(the-as int (-> self linger-duration))
)
(if (-> self linger-callback)
((-> self linger-callback) self)
)
@@ -832,7 +835,7 @@
(set! (-> self root) (new 'process 'trsqv))
(set! (-> self root trans quad) (-> arg5 world-sphere quad))
(set! (-> self offset quad) (-> arg5 world-sphere quad))
(set! (-> self callback) arg2)
(set! (-> self callback) (the-as (function part-tracker vector) arg2))
(set! (-> self linger-callback) #f)
(set! (-> self userdata) (the-as uint arg3))
(set! (-> self target) (process->handle arg4))
@@ -846,8 +849,8 @@
)
)
)
(set! (-> self duration) arg1)
(set! (-> self linger-duration) (the-as int (-> arg0 linger-duration)))
(set! (-> self duration) (the-as uint arg1))
(set! (-> self linger-duration) (-> arg0 linger-duration))
(set! (-> self part) (create-launch-control arg0 self))
(go part-tracker-process)
(none)
+2 -2
View File
@@ -393,8 +393,8 @@
(dummy-20 () none 20)
(dummy-21 () none 21)
(dummy-22 () none 22)
(dummy-23 () none 23)
(dummy-24 (_type_ float symbol) none 24)
(dummy-23 (_type_ vector check-vector-collision-with-nav-spheres-info) float 23)
(dummy-24 (_type_ float clip-travel-vector-to-mesh-return-info) none 24)
(dummy-25 (_type_ vector float) symbol 25)
(dummy-26 (_type_) none 26)
(dummy-27 () none 27)
+2
View File
@@ -118,6 +118,7 @@
(damping float :offset-assert 16)
(accel float :offset-assert 20)
)
:pack-me
:method-count-assert 11
:size-assert #x18
:flag-assert #xb00000018
@@ -147,6 +148,7 @@
(elasticity float :offset-assert 32)
(state int32 :offset-assert 36)
)
:pack-me
:method-count-assert 13
:size-assert #x28
:flag-assert #xd00000028