jak-project/goal_src/engine/target/target-h.gc
Tyler Wilding 5f040792e9
decomp: finish merc-death and some progress on ocean / powerups (#940)
* blocked: `powerups` finicky handle casts

* stuck: decompiled `ocean-texture` but `ocean-verts` is a mystery to me

* decomp: finish `merc-death`

* fix some issues, add a way to remind us for files we've manually touched

* tests: add `ambient` to ref tests, uncover compiler error

* tests: add `main` and `font` to ref tests
2021-10-26 19:16:16 -04:00

112 lines
4.5 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 target-util
(define-extern target-falling (state symbol none))
(define-extern target-slide-down (state none))
;; 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))
(define-extern target-generic-event-handler (function process int symbol event-message-block object))
;; TODO - for logic-target - defined in sidekick
(define-extern init-sidekick (function none)) ;; TODO - not finished
;; TODO - for logic-target - defined in target-death
(define-extern target-continue (state continue-point none))
(define-extern target-periscope (state target))
(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?
(define-extern target-standard-event-handler function)
(declare-type sidekick basic)
(declare-type collide-cache basic)
(declare-type snowball-info basic)
(declare-type tube-info basic)
(declare-type racer-info basic)
;; decomp begins
;; definition of type target
(deftype target (process-drawable)
((control control-info :score 100 :offset 112)
(fact-info-target fact-info-target :score 100 :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 basic :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 uint64 :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) none 20)
)
(:states
(target-racing-get-off handle)
(target-racing-jump float float symbol)
(target-racing-hit handle attack-info)
(target-racing-grab)
(target-racing-clone-anim handle)
(target-racing-get-on handle)
(target-racing-falling)
(target-racing-bounce float float symbol)
(target-racing-death symbol)
(target-racing-get-off-jump handle)
(target-racing-get-off-hit-ground symbol)
(target-death)
(target-hit-ground symbol)
(target-clone-anim)
)
)
(define-perm *target* target #f)
(deftype sidekick (process-drawable)
((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
;; inherited inspect of process-drawable
)
(define-perm *sidekick* sidekick #f)
(define-extern target-attacked (function symbol uint uint process (state target) object :behavior target)) ;; unconfirmed, target-tube::(event target-tube-start)