jak-project/goal_src/jak3/engine/geometry/bounding-box-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

59 lines
1.3 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: bounding-box-h.gc
;; name in dgo: bounding-box-h
;; dgos: GAME
;; DECOMP BEGINS
(deftype bounding-box (structure)
((min vector :inline)
(max vector :inline)
)
(:methods
(add-spheres! (_type_ (inline-array sphere) int) int)
(add-box! (_type_ bounding-box) int)
(add-point! (_type_ vector) none)
(intersects-line-segment? (_type_ vector vector) symbol)
(set-from-point-offset! (_type_ vector vector) none)
(set-from-point-offset-pad! (_type_ vector vector float) int)
(set-to-point! (_type_ vector) none)
(set-from-sphere! (_type_ sphere) none)
(set-from-spheres! (_type_ (inline-array sphere) int) int)
(get-bounding-sphere (_type_ vector) vector)
(inside-xyz? (bounding-box vector) symbol)
(inside-xz? (bounding-box vector) symbol)
)
)
(deftype bounding-box2 (structure)
((min vector2 :inline)
(max vector2 :inline)
)
)
(deftype bounding-box4w (structure)
((min vector4w :inline)
(max vector4w :inline)
)
)
(deftype bounding-box-both (structure)
((box bounding-box :inline)
(box4w bounding-box4w :inline)
)
)
(deftype bounding-box-array (inline-array-class)
((data bounding-box :dynamic)
)
)
(set! (-> bounding-box-array heap-base) (the-as uint 32))