Files
jak-project/goal_src/engine/anim/aligner-h.gc
T
ManDude 4d634cf50d [decomp] add a bunch of flag enums (#1350)
* update refs

* first pass

* update refs 2

* update

* update

* update

* stuff and things

* accidentally wiped this

* fancy decomp for static sound specs

* clang

* 5 more refs
2022-05-02 18:35:17 -04:00

87 lines
2.0 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: aligner-h.gc
;; name in dgo: aligner-h
;; dgos: GAME, ENGINE
(defenum align-flags
:bitfield #t
:type uint32
(algf00)
(algf01)
(algf02)
(algf03)
(algf04)
(algf05)
(algf06)
(algf07)
(algf08)
(algf09)
(algf10)
(algf11)
(algf12)
(algf13)
(algf14)
(algf15)
(algf16)
(algf17)
(algf18)
(algf19)
(algf20)
(algf21)
(algf22)
(algf23)
(algf24)
(algf25)
(algf26)
(algf27)
(algf28)
(algf29)
(algf30)
(algf31)
)
;; The align control is responsible for aligning an animation to a moving character.
(deftype align-control (basic)
((flags align-flags :offset-assert 4)
(process process-drawable :offset-assert 8)
(frame-group art-joint-anim :offset-assert 12)
(frame-num float :offset-assert 16)
(matrix matrix 2 :inline :offset-assert 32)
(transform transform 2 :inline :offset-assert 160)
(delta transformq :inline :offset-assert 256)
(last-speed meters :offset-assert 304)
(align transformq :inline :offset 160)
)
:method-count-assert 14
:size-assert #x134
:flag-assert #xe00000134
(:methods
(new (symbol type process) _type_ :behavior process-drawable 0)
(TODO-RENAME-9 (_type_) transformq 9)
(TODO-RENAME-10 (_type_ int float float float) trsqv 10)
(TODO-RENAME-11 (_type_ int vector int float float) none 11) ;; 3rd arg is unused
(first-transform (_type_) transform 12)
(snd-transform (_type_) transform 13)
)
)
(defmethod new align-control ((allocation symbol) (type-to-make type) (proc process))
"Create a new align-control."
(let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size)))))
(when (zero? obj)
(go process-drawable-art-error "memory")
(return (the align-control 0))
)
(set! (-> obj process) (the-as process-drawable proc))
obj
)
)