Files
jak-project/goal_src/engine/game/projectiles-h.gc
T
ManDude 24578b64b9 proper support for hardcoded "time" types (#1141)
* hardcode `time-frame`things

* Update cam-states_REF.gc

* Update level-info_REF.gc

* update refs 1

* update refs 2

* update refs 3

* update refs 4

* update refs 5

* update detection and casting

* Update FormExpressionAnalysis.cpp

* update refs 6

* update mood decomp

* update refs 7

* update refs 8

* remove temp entity birth code

* update time-frame casts

* fix compiler

* hardcode stuff and fix some types

* fix some bitfield detection being wrong

* bug fixes

* detect seconds on adds with immediate

* update refs 9

* fix casts and rand-vu-int-range bugs (update refs 10)

* update refs 11

* update 12

* update 13

* update 14

* Update game-info_REF.gc

* improve cpad macros detection

* remove unused code

* update refs

* clang

* update source code

* Update cam-states.gc

* `lavatube-energy` finish

* update refs

* fix actor bank stuff

* Update navigate.gc

* reduce entity default stack size

* Update transformq-h.gc

* oops forgot these

* fix code and tests

* fix mood sound stuff

* Update load-dgo.gc

* Update README.md
2022-02-12 12:26:19 -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 time-frame :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