mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
5f040792e9
* 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
112 lines
4.5 KiB
Common Lisp
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)
|