Files
jak-project/goal_src/engine/game/projectiles-h.gc
T
Tyler Wilding 7edfc8bcec 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
2021-12-11 13:27:24 -05:00

83 lines
3.0 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: projectiles-h.gc
;; name in dgo: projectiles-h
;; dgos: GAME, ENGINE
(declare-type projectile process-drawable)
(define-extern projectile-init-by-other (function entity vector vector uint handle none :behavior projectile)) ;; 4th arg is `options`, 5th is `last-target`
;; DECOMP BEGINS
(deftype projectile (process-drawable)
((root-override collide-shape-moving :offset 112)
(base-trans vector :inline :offset-assert 176)
(target vector :inline :offset-assert 192)
(target-base vector :inline :offset-assert 208)
(parent-base vector :inline :offset-assert 224)
(parent-quat vector :inline :offset-assert 240)
(base-vector vector :inline :offset-assert 256)
(timeout uint64 :offset-assert 272)
(options uint64 :offset-assert 280)
(last-target handle :offset-assert 288)
(notify-handle handle :offset-assert 296)
(max-speed float :offset-assert 304)
(max-turn float :offset-assert 308)
(old-dist float 16 :offset-assert 312)
(old-dist-count int32 :offset-assert 376)
(hits int32 :offset-assert 380)
(max-hits int32 :offset-assert 384)
(tween float :offset-assert 388)
(attack-mode symbol :offset-assert 392)
(update-velocity (function projectile none) :offset-assert 396)
(counter int32 :offset-assert 400)
(target-count int32 :offset-assert 404)
(sound-id sound-id :offset-assert 408)
)
:heap-base #x130
:method-count-assert 29
:size-assert #x19c
:flag-assert #x1d0130019c
(:methods
(projectile-die () _type_ :state 20)
(projectile-dissipate () _type_ :state 21)
(projectile-impact () _type_ :state 22)
(projectile-moving () _type_ :state 23)
(dummy-24 (_type_) none 24)
(dummy-25 (_type_) none 25)
(dummy-26 (_type_) none 26)
(dummy-27 (_type_) none 27)
(dummy-28 (_type_) none 28)
)
)
(deftype projectile-yellow (projectile)
((mode int32 :offset-assert 412)
(angle float :offset-assert 416)
)
:heap-base #x140
:method-count-assert 29
:size-assert #x1a4
:flag-assert #x1d014001a4
)
(deftype projectile-blue (projectile)
((mode int32 :offset-assert 412)
(joint-num int32 :offset-assert 416)
)
:heap-base #x140
:method-count-assert 29
:size-assert #x1a4
:flag-assert #x1d014001a4
)
0