mirror of
https://github.com/open-goal/jak-project
synced 2026-08-07 02:06:59 -04:00
57 lines
2.6 KiB
Common Lisp
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)
|