jak-project/goal_src/levels/common/nav-enemy-h.gc
water111 403bb5f4de
[decomp] game-info (#779)
* support more process stuff

* more of game info

* add ref file

* progress on save
2021-08-22 20:12:47 -04:00

164 lines
7.7 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: nav-enemy-h.gc
;; name in dgo: nav-enemy-h
;; dgos: GAME, COMMON, L1
(deftype nav-enemy-info (basic)
((idle-anim int32 :offset-assert 4)
(walk-anim int32 :offset-assert 8)
(turn-anim int32 :offset-assert 12)
(notice-anim int32 :offset-assert 16)
(run-anim int32 :offset-assert 20)
(jump-anim int32 :offset-assert 24)
(jump-land-anim int32 :offset-assert 28)
(victory-anim int32 :offset-assert 32)
(taunt-anim int32 :offset-assert 36)
(die-anim int32 :offset-assert 40)
(neck-joint int32 :offset-assert 44)
(player-look-at-joint int32 :offset-assert 48)
(run-travel-speed meters :offset-assert 52)
(run-rotate-speed degrees :offset-assert 56)
(run-acceleration meters :offset-assert 60)
(run-turn-time seconds :offset-assert 64)
(walk-travel-speed meters :offset-assert 72)
(walk-rotate-speed degrees :offset-assert 76)
(walk-acceleration meters :offset-assert 80)
(walk-turn-time seconds :offset-assert 88)
(attack-shove-back meters :offset-assert 96)
(attack-shove-up meters :offset-assert 100)
(shadow-size meters :offset-assert 104)
(notice-nav-radius meters :offset-assert 108)
(nav-nearest-y-threshold meters :offset-assert 112)
(notice-distance meters :offset-assert 116)
(proximity-notice-distance meters :offset-assert 120)
(stop-chase-distance meters :offset-assert 124)
(frustration-distance meters :offset-assert 128)
(frustration-time uint64 :offset-assert 136)
(die-anim-hold-frame float :offset-assert 144)
(jump-anim-start-frame float :offset-assert 148)
(jump-land-anim-end-frame float :offset-assert 152)
(jump-height-min meters :offset-assert 156)
(jump-height-factor float :offset-assert 160)
(jump-start-anim-speed float :offset-assert 164)
(shadow-max-y meters :offset-assert 168)
(shadow-min-y meters :offset-assert 172)
(shadow-locus-dist meters :offset-assert 176)
(use-align symbol :offset-assert 180)
(draw-shadow symbol :offset-assert 184)
(move-to-ground symbol :offset-assert 188)
(hover-if-no-ground symbol :offset-assert 192)
(use-momentum symbol :offset-assert 196)
(use-flee symbol :offset-assert 200)
(use-proximity-notice symbol :offset-assert 204)
(use-jump-blocked symbol :offset-assert 208)
(use-jump-patrol symbol :offset-assert 212)
(gnd-collide-with uint64 :offset-assert 216)
(debug-draw-neck symbol :offset-assert 224)
(debug-draw-jump symbol :offset-assert 228)
)
:method-count-assert 9
:size-assert #xe8
:flag-assert #x9000000e8
)
(deftype nav-enemy (process-drawable)
((collide-info collide-shape-moving :score 100 :offset 112)
(enemy-info fact-info-enemy :score 100 :offset 144)
(hit-from-dir vector :inline :offset-assert 176)
(event-param-point vector :inline :offset-assert 192)
(frustration-point vector :inline :offset-assert 208)
(jump-dest vector :inline :offset-assert 224)
(jump-trajectory trajectory :inline :offset-assert 240)
(jump-time uint64 :offset-assert 280)
(nav-info nav-enemy-info :offset-assert 288)
(target-speed float :offset-assert 292)
(momentum-speed float :offset-assert 296)
(acceleration float :offset-assert 300)
(rotate-speed float :offset-assert 304)
(turn-time int64 :offset-assert 312)
(frustration-time int64 :offset-assert 320)
(speed-scale float :offset-assert 328)
(neck joint-mod :offset-assert 332) ; this is what `neck` is on the pelican
(reaction-time int64 :offset-assert 336)
(notice-time int64 :offset-assert 344)
(state-timeout int64 :offset-assert 352)
(free-time int64 :offset-assert 360)
(touch-time int64 :offset-assert 368)
(nav-enemy-flags uint32 :offset-assert 376)
(incomming-attack-id handle :offset-assert 384)
(jump-return-state (state process) :offset-assert 392)
(rand-gen random-generator :offset-assert 396)
)
:heap-base #x120
:method-count-assert 76
:size-assert #x190
:flag-assert #x4c01200190
;; inherited inspect of process-drawable
(:methods
(nav-enemy-attack () _type_ :state 20)
(nav-enemy-chase () _type_ :state 21)
(nav-enemy-flee () _type_ :state 22)
(nav-enemy-die () _type_ :state 23)
(nav-enemy-fuel-cell () _type_ :state 24)
(nav-enemy-give-up () _type_ :state 25)
(nav-enemy-jump () _type_ :state 26)
(nav-enemy-jump-land () _type_ :state 27)
(nav-enemy-idle () _type_ :state 28)
(nav-enemy-notice () _type_ :state 29)
(nav-enemy-patrol () _type_ :state 30)
(nav-enemy-stare () _type_ :state 31)
(nav-enemy-stop-chase () _type_ :state 32)
(nav-enemy-victory () _type_ :state 33)
(dummy-34 (_type_) none 34)
(nav-enemy-wait-for-cue () _type_ :state 35)
(nav-enemy-jump-to-point () _type_ :state 36)
(TODO-RENAME-37 (_type_) none 37)
(TODO-RENAME-38 (_type_) none 38)
(TODO-RENAME-39 (_type_) none 39)
(dummy-40 (_type_) none 40)
(dummy-41 (_type_) none 41)
(TODO-RENAME-42 (_type_) int 42)
(dummy-43 (_type_ process event-message-block) object 43)
(dummy-44 (_type_ process event-message-block) object 44)
(TODO-RENAME-45 (_type_ nav-enemy-info) none 45)
(TODO-RENAME-46 (_type_ float) basic 46)
(TODO-RENAME-47 (_type_) none 47) ;; - Stubbed
(TODO-RENAME-48 (_type_) none 48) ;; - Stubbed
(TODO-RENAME-49 (_type_ nav-enemy-info) float 49)
(TODO-RENAME-50 (_type_ vector) symbol 50)
(dummy-51 (_type_) none 51)
(dummy-52 (_type_) none 52)
(dummy-53 (_type_) none 53)
(dummy-54 (_type_) none 54)
(dummy-55 (_type_) none 55)
(dummy-56 (_type_) none 56)
(dummy-57 (_type_) none 57)
(dummy-58 (_type_) none 58)
(TODO-RENAME-59 (_type_) none 59)
(dummy-60 (_type_) none 60)
(dummy-61 (_type_) none 61)
(dummy-62 (_type_) none 62)
(dummy-63 (_type_) none 63)
(dummy-64 (_type_) none 64)
(dummy-65 (_type_) none 65)
(dummy-66 (_type_) none 66)
(dummy-67 (_type_) symbol 67)
(dummy-68 (_type_) none 68)
(dummy-69 (_type_) none 69)
(dummy-70 (_type_) none 70)
(dummy-71 (_type_) none 71)
(dummy-72 (_type_ process event-message-block) object 72) ;; TODO - args unknown, 3rd arg contains a touching-shapes-entry offset 16/20
(TODO-RENAME-73 (_type_ process) symbol 73)
(nav-enemy-jump-blocked () _type_ :state 74)
(dummy-75 (_type_) none 75)
)
)
;; NOTE - some forward declarations
(define-extern nav-enemy-send-attack (function process touching-shapes-entry symbol object :behavior nav-enemy))
(define-extern nav-enemy-set-hit-from-direction (function process none :behavior nav-enemy))
(define-extern nav-enemy-get-new-patrol-point (function int :behavior nav-enemy))
(define-extern nav-enemy-test-point-near-nav-mesh? (function vector symbol :behavior nav-enemy))