Files
jak-project/goal_src/jak1/engine/debug/debug-h.gc
T
2026-07-26 14:43:53 -04:00

45 lines
1.6 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
(bundles "ENGINE.CGO" "GAME.CGO")
(require "kernel-defs.gc")
;; Shared debug menu state used by tools such as anim-tester.
(define-extern *debug-menu-context* debug-menu-context)
(define-extern add-debug-matrix (function symbol bucket-id matrix matrix))
(define-extern add-debug-text-sphere (function symbol bucket-id vector float string rgba symbol))
(define-extern add-debug-line (function symbol bucket-id vector vector rgba symbol rgba symbol))
(defun-extern add-debug-sphere symbol bucket-id vector float rgba symbol)
;; DECOMP BEGINS
;; A lazily allocated circular history of positions. history-draw-and-update
;; writes the newest sample at h-first, advances and wraps that cursor, and draws
;; adjacent stored samples without joining the end of the array back to its
;; beginning.
(deftype pos-history (structure)
((points (inline-array vector))
(num-points int32)
(h-first int32)
(h-last int32)))
;; Compact vertex snapshot used by the debug vertex statistics display. It keeps
;; transformed coordinates, a packed normal, texture coordinates, and color in
;; the same 32-byte record.
(deftype debug-vertex (structure)
((trans vector4w :inline)
(normal vector3h :inline)
(st vector2h :inline)
(color uint32)))
;; Debug geometry statistics and storage for up to 600 captured vertex records.
;; The custom inspector in debug.gc prints the active records and their packed
;; attributes.
(deftype debug-vertex-stats (basic)
((length int32)
(pos-count int32)
(vertex debug-vertex 600 :inline)))