mirror of
https://github.com/open-goal/jak-project
synced 2026-06-06 19:52:01 -04:00
9a4929ac0c
- `vector-h` - `gravity-h` - `bounding-box-h` - `matrix-h` - `quaternion-h` - `euler-h` - `transform-h` - `geometry-h` - `trigonometry-h` - `transformq-h` - `bounding-box` - `matrix` - `matrix-compose` - `transform` - `quaternion` - `euler` - `trigonometry` Not a whole lot of changes, just a couple of new functions and one new file (`matrix-compose`).
34 lines
805 B
Common Lisp
34 lines
805 B
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: transform-h.gc
|
|
;; name in dgo: transform-h
|
|
;; dgos: GAME
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(deftype transform (structure)
|
|
"Transformation. w components of vectors should be 1.0
|
|
This can represent any rotation, translation, and scaling.
|
|
Note that the scaling is applied before rotation
|
|
(meaning it scales along the axes of the pre-transformed frame)."
|
|
((trans vector :inline)
|
|
(rot vector :inline)
|
|
(scale vector :inline)
|
|
)
|
|
)
|
|
|
|
|
|
(deftype trs (basic)
|
|
"Like transform, but it's a basic.
|
|
Note that the trsq child type overrides this rotation with a quaternion.
|
|
usage of the plain trs is very limited, at least in Jak 1."
|
|
((trans vector :inline)
|
|
(rot vector :inline)
|
|
(scale vector :inline)
|
|
)
|
|
(:methods
|
|
(new (symbol type) _type_)
|
|
)
|
|
)
|