mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
221e33c5d1
* decomp: finish `pelican` * decomp: finish `double-lurker` * decomp: finish `rolling-race-ring` * decomp: update draw-status related code * fix mistakes
173 lines
7.9 KiB
Common Lisp
173 lines
7.9 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: nav-enemy-h.gc
|
|
;; name in dgo: nav-enemy-h
|
|
;; dgos: GAME, COMMON, L1
|
|
|
|
(declare-type nav-enemy process-drawable)
|
|
(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))
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(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 :offset 112)
|
|
(enemy-info fact-info-enemy :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)
|
|
(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
|
|
(: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)
|
|
(common-post (_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)
|
|
(initialize-collision (_type_) none 47)
|
|
(TODO-RENAME-48 (_type_) none 48)
|
|
(TODO-RENAME-49 (_type_ nav-enemy-info) float 49)
|
|
(TODO-RENAME-50 (_type_ vector) symbol 50)
|
|
(dummy-51 (_type_) object 51)
|
|
(dummy-52 (_type_ vector) symbol 52)
|
|
(dummy-53 (_type_) symbol 53)
|
|
(dummy-54 (_type_) none 54)
|
|
(dummy-55 (_type_) none 55)
|
|
(set-jump-height-factor! (_type_ int) float 56)
|
|
(dummy-57 (_type_) vector 57)
|
|
(dummy-58 (_type_) vector 58)
|
|
(TODO-RENAME-59 (_type_) none 59)
|
|
(dummy-60 (_type_ object) symbol 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_ :state 71)
|
|
(nav-enemy-touch-handler (_type_ process event-message-block) object 72)
|
|
(nav-enemy-attack-handler (_type_ process event-message-block) object 73)
|
|
(nav-enemy-jump-blocked () _type_ :state 74)
|
|
(dummy-75 (_type_) none 75)
|
|
)
|
|
)
|
|
|
|
|
|
0
|
|
|
|
|
|
|
|
|