mirror of
https://github.com/open-goal/jak-project
synced 2026-05-26 23:47:57 -04:00
c8a31d4d1b
* 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
112 lines
3.9 KiB
Common Lisp
112 lines
3.9 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: joint-exploder.gc
|
|
;; name in dgo: joint-exploder
|
|
;; dgos: GAME, COMMON, L1
|
|
|
|
;; TODO - for racer-states
|
|
(deftype joint-exploder-tuning (structure)
|
|
((explosion uint64 :offset-assert 0)
|
|
(duration uint64 :offset-assert 8)
|
|
(gravity float :offset-assert 16)
|
|
(rot-speed float :offset-assert 20)
|
|
(fountain-rand-transv-lo vector :inline :offset-assert 32)
|
|
(fountain-rand-transv-hi vector :inline :offset-assert 48)
|
|
(away-from-focal-pt vector :inline :offset 32)
|
|
(away-from-rand-transv-xz-lo float :offset 48)
|
|
(away-from-rand-transv-xz-hi float :offset 52)
|
|
(away-from-rand-transv-y-lo float :offset 56)
|
|
(away-from-rand-transv-y-hi float :offset 60)
|
|
)
|
|
(:methods
|
|
(new (symbol type int) _type_ 0)
|
|
)
|
|
:method-count-assert 9
|
|
:size-assert #x40
|
|
:flag-assert #x900000040
|
|
)
|
|
|
|
(deftype joint-exploder-static-joint-params (structure)
|
|
((joint-index int16 :offset-assert 0)
|
|
(parent-joint-index int16 :offset-assert 2)
|
|
)
|
|
:method-count-assert 9
|
|
:size-assert #x4
|
|
:flag-assert #x900000004
|
|
)
|
|
|
|
(deftype joint-exploder-static-params (basic)
|
|
((joints array :offset-assert 4) ;; an array of...what?
|
|
)
|
|
:method-count-assert 9
|
|
:size-assert #x8
|
|
:flag-assert #x900000008
|
|
)
|
|
|
|
(deftype joint-exploder-joint (structure)
|
|
((next int16 :offset-assert 0)
|
|
(prev int16 :offset-assert 2)
|
|
(joint-index int16 :offset-assert 4)
|
|
(rspeed float :offset-assert 8)
|
|
(mat matrix :inline :offset-assert 16)
|
|
(rmat matrix :inline :offset-assert 80)
|
|
(transv vector :inline :offset-assert 144)
|
|
(prev-pos vector :inline :offset-assert 160)
|
|
)
|
|
:method-count-assert 9
|
|
:size-assert #xb0
|
|
:flag-assert #x9000000b0
|
|
)
|
|
|
|
(deftype joint-exploder-joints (basic)
|
|
((num-joints int32 :offset-assert 4)
|
|
(joint joint-exploder-joint :dynamic :offset 16)
|
|
)
|
|
:method-count-assert 9
|
|
:size-assert #x10
|
|
:flag-assert #x900000010
|
|
(:methods
|
|
(new (symbol _type_ int) _type_ 0))
|
|
)
|
|
|
|
(deftype joint-exploder-list (structure)
|
|
((head int32 :offset-assert 0)
|
|
(pre-moved? symbol :offset-assert 4)
|
|
(bbox-valid? symbol :offset-assert 8)
|
|
(bbox bounding-box :inline :offset-assert 16)
|
|
)
|
|
:method-count-assert 9
|
|
:size-assert #x30
|
|
:flag-assert #x900000030
|
|
)
|
|
|
|
(deftype joint-exploder (process-drawable)
|
|
((die-if-below-y float :offset-assert 176)
|
|
(die-if-beyond-xz-dist-sqrd float :offset-assert 180)
|
|
(joints joint-exploder-joints :offset-assert 184)
|
|
(static-params joint-exploder-static-params :offset-assert 188)
|
|
(anim art-joint-anim :offset-assert 192)
|
|
(scale-vector vector :inline :offset-assert 208)
|
|
(tuning joint-exploder-tuning :inline :offset-assert 224)
|
|
(lists joint-exploder-list 5 :inline :offset-assert 288)
|
|
)
|
|
:method-count-assert 29
|
|
:size-assert #x210
|
|
:heap-base #x1a0
|
|
:flag-assert #x1d01a00210
|
|
(:methods
|
|
(dummy-20 (_type_) none 20)
|
|
(dummy-21 (_type_) none 21)
|
|
(dummy-22 () none 22)
|
|
(dummy-23 () none 23)
|
|
(dummy-24 (_type_) none 24)
|
|
(dummy-25 () none 25)
|
|
(dummy-26 (_type_) none 26)
|
|
(dummy-27 (_type_ joint-exploder-list) none 27)
|
|
(dummy-28 (_type_) none 28)
|
|
)
|
|
)
|
|
|
|
(define-extern joint-exploder-init-by-other (function skeleton-group int joint-exploder-static-params joint-exploder-tuning none :behavior joint-exploder))
|