jak-project/goal_src/jak3/engine/geometry/geometry-h.gc
Hat Kid 9a4929ac0c
decomp3: some engine files (#3319)
- `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`).
2024-01-20 10:42:51 -05:00

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)
)
)