Files
jak-project/goal_src/engine/draw/process-drawable.gc
T
Tyler Wilding 45318be063 decomp: finish _almost all of_ the remaining camera code (#845)
* decomp: mostly finish `cam-master`

* decomp/scripts: lots of work in cam-states

* stash

* Merge remote-tracking branch 'water111/master' into decomp/camera-master

Updated submodule third-party/googletest

* decompiler: Add support for non power of 2 offsets for inline arr access

* decomp: mostly finish `cam-states` need to fix a macro issue

* blocked: `cam-master` decompiler crash when adding casts

* decomp: finish `cam-states-dbg`

* decomp: mostly finish `pov-camera` with the exception of joint-related code

* decomp: `cam-debug` finished decompiling, no way does this compile yet though

* decomp: considerable work done in `cam-layout`

* decomp: `cam-layout` almost done!

* decomp: `pov-camera` finished, TC tests will fail for now

* decomp: working on resolving issues

* decomp: cam-layout decompiling

* fixing more issues in cam-master...one event handler remains

* skip problematic function in `cam-master` for now

* gsrc: update res macros

* decomp: finish `cam-states`

* decomp: giving up on `cam-debug`

* tests: allow skipping state handlers in ref tests

* decomp: working through cam-layout bugs

* decomp: allow for shifting non-integers

* decomp: finalize `cam-layout` and `cam-master`

* decomp: finalize `cam-states`

* cleanup: bi-annual formatting of the casting files

* formatting

* address feedback - leave the float labels alone for now

* address feedback

* linting/formatting

* update gsrc and ref tests

Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com>
2021-10-16 21:01:23 -04:00

58 lines
1.9 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: process-drawable.gc
;; name in dgo: process-drawable
;; dgos: GAME, ENGINE
;; TODO - for water-anim | sunken-elevator
(define-extern ja-post (function none :behavior process-drawable))
;; TODO - for rigid-body
(define-extern rider-post (function int))
(define-extern transform-post (function int))
;; TODO - for misty-teetertotter
(define-extern transform-post (function int))
(define-extern ja-done? (function int symbol))
;; TODO - for misty-warehouse
(define-extern rider-trans (function int))
;; TODO - for nav-enemy
(define-extern ja-blend-eval (function int))
(define-extern process-drawable-fuel-cell-handler (function process int symbol event-message-block none))
(define-extern ja-aframe-num (function int float))
(define-extern ja-aframe (function float int float))
;; TODO - for sculptor
(define-extern ja-eval (function int))
;; TODO - for basebutton
(define-extern anim-loop (function symbol))
;; TODO - for bouncer
(define-extern ja-min? (function int symbol))
;; TODO - for process-drawable
(define-extern ja-num-frames (function int int))
;; TODO - for flutflut
(define-extern ja-group-size (function int))
;; TODO - for yakow | pov-camera
(define-extern ja-frame-num (function int float))
;; TODO - for anim-tester
(define-extern draw-joint-spheres (function process-drawable symbol))
(define-extern *default-skel-template* pair)
(define-extern make-nodes-from-jg (function object pair symbol int))
(define-extern fill-skeleton-cache (function process-drawable int))
(defun vector<-cspace! ((arg0 vector) (arg1 cspace))
(rlet ((Q :class vf)
(vf0 :class vf)
(vf2 :class vf)
)
(init-vf0-vector)
(.lvf vf2 (&-> (-> arg1 bone) transform vector 3 quad))
(.div.vf Q vf0 vf2 :fsf #b11 :ftf #b11)
(.wait.vf)
(.mul.vf vf2 vf2 Q :mask #b111)
(.nop.vf)
(.nop.vf)
(.mov.vf vf2 vf0 :mask #b1000)
(.svf (&-> arg0 quad) vf2)
arg0
)
)