mirror of
https://github.com/open-goal/jak-project
synced 2026-08-06 09:54:10 -04:00
23 lines
674 B
Common Lisp
23 lines
674 B
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
(bundles "ENGINE.CGO" "GAME.CGO")
|
|
(require "kernel-defs.gc")
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
;; Translation, Euler rotation, and nonuniform scale. Each vector conventionally
|
|
;; keeps w at 1.0. Scale is applied before rotation, along the local frame axes.
|
|
(deftype transform (structure)
|
|
((trans vector :inline)
|
|
(rot vector :inline)
|
|
(scale vector :inline)))
|
|
|
|
;; Boxed transform with the same field layout. World-space game objects can derive
|
|
;; from trs directly so their location is part of the object.
|
|
(deftype trs (basic)
|
|
((trans vector :inline)
|
|
(rot vector :inline)
|
|
(scale vector :inline))
|
|
(:methods
|
|
(new (symbol type) _type_)))
|