Files
jak-project/goal_src/jakx/engine/collide/collide-h.gc
T
2026-05-08 18:54:05 -04:00

57 lines
2.6 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: collide-h.gc
;; name in dgo: collide-h
;; dgos: ENGINE, GAME
;; DECOMP BEGINS
(deftype collide-query (structure)
"Very general collision-query structure. The meaning is different depending on where it used.
This has both inputs from the user, and collision results."
((best-other-tri collide-tri-result :inline)
(best-my-tri collide-tri-result :inline :overlay-at best-other-tri)
(ignore-processes process-tree 2)
(ignore-process0 process-tree :overlay-at (-> ignore-processes 0))
(ignore-process1 process-tree :overlay-at (-> ignore-processes 1))
(ignore-pat pat-surface)
(ignore-pat-s32 int32 :overlay-at ignore-pat)
(collide-with collide-spec)
(collide-with-s32 int32 :overlay-at collide-with)
(overlay-params uint32 3 :offset 112)
(bbox bounding-box :inline)
(bbox4w bounding-box4w :inline)
(bsphere sphere :inline)
(start-pos vector :inline)
(move-dist vector :inline)
(rlength vector :inline)
(exit-planes plane 2 :inline)
(radius float :overlay-at (-> exit-planes 0 data 3))
(inv-mat matrix :inline :offset 288)
(spheres (inline-array sphere) :overlay-at (-> overlay-params 0))
(num-spheres uint32 :overlay-at (-> overlay-params 1))
(solid-only symbol :overlay-at (-> overlay-params 2))
(best-dist float :overlay-at spheres)
(best-other-prim collide-shape-prim :overlay-at num-spheres)
(best-my-prim collide-shape-prim :overlay-at solid-only)
(move-vec vector :inline :overlay-at move-dist)
(best-u float :overlay-at best-dist)
(action-mask collide-action :offset 352)
(local-box4w bounding-box4w :inline)
(search-box bounding-box4w :inline)
(search-vector vector4w :inline)
(instance-mat matrix :inline)
(instance-ptr basic)
(x-addr uint32)
(x-step uint32)
(y-addr uint32)
(y-step uint32)
(z-addr uint32)
(z-step uint32)
)
)
(define *collide-test-flag* #f)