mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 11:26:18 -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`).
70 lines
1.4 KiB
Common Lisp
70 lines
1.4 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: geometry-h.gc
|
|
;; name in dgo: geometry-h
|
|
;; dgos: GAME
|
|
|
|
(define-extern quaternion-from-two-vectors-max-angle! (function quaternion vector vector float quaternion))
|
|
(define-extern vector-orient-by-quat! (function vector vector quaternion vector))
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(deftype curve (structure)
|
|
((cverts (inline-array vector))
|
|
(num-cverts int32)
|
|
(knots (pointer float))
|
|
(num-knots int32)
|
|
(length float)
|
|
)
|
|
)
|
|
|
|
|
|
(deftype line-intersection-val (structure)
|
|
((tt0 float)
|
|
(tt1 float)
|
|
)
|
|
)
|
|
|
|
|
|
(deftype border-plane (basic)
|
|
((name symbol)
|
|
(action basic)
|
|
(slot int8)
|
|
(trans vector :inline)
|
|
(normal vector :inline)
|
|
)
|
|
(:methods
|
|
(debug-draw (_type_) int)
|
|
(point-past-plane? (_type_ vector) symbol)
|
|
)
|
|
)
|
|
|
|
|
|
(deftype lissajous (structure)
|
|
((x-mag float)
|
|
(y-mag float)
|
|
(theta float)
|
|
(wx float)
|
|
(wy float)
|
|
(period-shift float)
|
|
(theta-rate float)
|
|
)
|
|
:pack-me
|
|
(:methods
|
|
(lissajous-method-9 (_type_ vector) vector)
|
|
)
|
|
)
|
|
|
|
|
|
(deftype lissajous-interp (structure)
|
|
((current lissajous :inline)
|
|
(dest lissajous :inline)
|
|
(rate lissajous :inline)
|
|
)
|
|
(:methods
|
|
(lissajous-interp-method-9 (_type_ vector) vector)
|
|
(lissajous-interp-method-10 (_type_) float)
|
|
)
|
|
)
|