jak-project/goal_src/engine/draw/process-drawable.gc
water111 f0ceea8b2e
[sparticle] 2d hud particles (#849)
* wip, taking a break to work on asm stuff first

* the goal code for sparticle

* mips2c the first sparticle asm function

* temp

* particle processing no longer crashing

* temp

* working texture cache for vi1 and hud textures

* sprites

* cleanup 1

* temp

* temp

* add zstd library

* temp

* working

* tests

* include fix

* uncomment

* better decomp of sparticle stuff, part 1

* update references
2021-09-26 11:41:58 -04:00

47 lines
1.4 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))
(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
)
)