jak-project/goal_src/engine/target/target-h.gc
Tyler Wilding da0e9a3930
decomp: finish rolling-obs | hud | title-obs | maincave-obs | lavatube-energy (#1023)
* decomp: `(code caveelevator-one-way-idle-end)` problematic

* decomp: finish `rolling-obs`

* decomp: `snow-obs` finished, but needs s6-1 fix

* stuck: `(code target-title)`

* decomp: finish `hud`

* re-decompile

* decomp: finish `title-obs`

* decomp: finish `maincave-obs`

* decomp: finish `lavatube-energy`

* fixes
2021-12-30 21:27:35 -05:00

136 lines
5.8 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: target-h.gc
;; name in dgo: target-h
;; dgos: GAME, ENGINE
;; TODO - for cam-master
(define-extern target-cam-pos (function vector))
(defun-extern stop symbol int)
(defun-extern start symbol continue-point target)
;; TODO - for mood
(define-extern target-joint-pos (function vector)) ;; TODO - unconfirmed
;; TODO - for logic-target - defined in shadow
(define-extern do-target-shadow (function none :behavior target))
;; TODO - for logic-target - defined in powerups
(define-extern target-powerup-process (function none :behavior target))
;; TODO - for logic-target - defined in target-handler
(define-extern target-exit (function none :behavior target))
(define-extern target-generic-event-handler (function process int symbol event-message-block object :behavior target))
;; TODO - for logic-target - defined in sidekick
(declare-type sidekick process-drawable)
(define-extern init-sidekick (function none :behavior sidekick))
;; TODO - for logic-target - defined in target-death
(define-extern target-continue (state continue-point target))
(define-extern target-periscope (state handle target)) ;; unknown type
(define-extern mod-var-jump (function symbol symbol symbol vector vector :behavior target))
(define-extern init-var-jump (function float float vector vector vector vector :behavior target)) ;; 1st and 2nd vectors may be symbols instead?
;; TODO - for target-util
(define-extern target-falling (state symbol target))
(define-extern target-slide-down (state target))
;; TODO - for target-tube
(define-extern target-attacked (function symbol attack-info process process (state handle attack-info target) object :behavior target)) ;; unconfirmed, target-tube::(event target-tube-start)
;; TODO - for racer-states
(define-extern racer-collision-reaction (function control-info collide-shape-intersect vector vector none))
;; TODO -for target2
(define-extern target-falling-anim-trans (function none :behavior target)) ;; unconfirmed
(declare-type collide-cache basic)
(declare-type snowball-info basic)
(declare-type tube-info basic)
(declare-type racer-info basic)
(declare-type flut-info basic)
(declare-type target process-drawable)
(defun-extern start symbol continue-point target)
;; NOTE - for logic-target - defined in sidekick
(declare-type sidekick process-drawable)
;; NOTE - for target-death
(define-extern start-sequence-a (function none)) ;; not confirmed
;; DECOMP BEGINS
(deftype target (process-drawable)
((self-override target :offset 28)
(control control-info :offset 112)
(fact-info-target fact-info-target :offset 144)
(skel2 basic :offset-assert 176)
(racer racer-info :offset-assert 180)
(game game-info :offset-assert 184)
(neck joint-mod :offset-assert 188)
(state-hook-time uint64 :offset-assert 192)
(state-hook (function none :behavior target) :offset-assert 200)
(cam-user-mode symbol :offset-assert 204)
(sidekick (pointer sidekick) :offset-assert 208)
(manipy (pointer manipy) :offset-assert 212)
(attack-info attack-info :inline :offset-assert 224)
(attack-info-rec attack-info :inline :offset-assert 336)
(anim-seed uint64 :offset-assert 440)
(alt-cam-pos vector :inline :offset-assert 448)
(snowball snowball-info :offset-assert 464)
(tube tube-info :offset-assert 468)
(flut flut-info :offset-assert 472)
(current-level level :offset-assert 476)
(saved-pos transformq :inline :offset-assert 480)
(saved-owner uint64 :offset-assert 528)
(alt-neck-pos vector :inline :offset-assert 544)
(fp-hud handle :offset-assert 560)
(no-load-wait uint64 :offset-assert 568)
(no-look-around-wait uint64 :offset-assert 576)
)
:heap-base #x1e0
:method-count-assert 21
:size-assert #x248
:flag-assert #x1501e00248
(:methods
(dummy-20 (_type_ collide-cache) object 20)
)
(:states
(target-clone-anim handle)
(target-death symbol)
target-demo
(target-hit-ground symbol)
(target-racing-bounce float float symbol)
(target-racing-clone-anim handle)
(target-racing-death symbol)
target-racing-falling
(target-racing-get-off handle)
(target-racing-get-off-hit-ground symbol)
(target-racing-get-off-jump handle)
(target-racing-get-on handle)
target-racing-grab
(target-racing-hit handle attack-info)
(target-racing-jump float float symbol)
target-title
target-title-play
target-title-wait
(target-warp-in vector vector)
)
)
(define-perm *target* target #f)
(deftype sidekick (process-drawable)
((parent-override (pointer target) :offset 12)
(control control-info :offset 112)
(anim-seed uint64 :offset 192)
(shadow-in-movie? symbol :offset-assert 200)
)
:heap-base #x60
:method-count-assert 20
:size-assert #xcc
:flag-assert #x14006000cc
)
(define-perm *sidekick* sidekick #f)
0