This commit is contained in:
Hat Kid
2026-04-15 02:29:58 +02:00
parent 21a148f9ea
commit c8653b2d51
256 changed files with 18768 additions and 22290 deletions
@@ -106,7 +106,6 @@
;; INFO: Used lq/sq
;; WARN: Using new Jak 2 rtype-of
(defun-debug cspace-inspect-tree ((arg0 process-drawable) (arg1 cspace) (arg2 int) (arg3 int) (arg4 object))
(local-vars (sv-16 string) (sv-32 int) (sv-48 int))
(if (and (= arg4 'mesh) (zero? *debug-vertex-stats*))
(set! *debug-vertex-stats* (new 'debug 'debug-vertex-stats))
)
@@ -132,15 +131,12 @@
#f
)
((= v1-11 'mesh)
(let ((s1-0 format)
(s0-0 #t)
)
(set! sv-16 " ~D/~D/~F")
(set! sv-32 (drawable-frag-count (-> arg1 geo)))
(set! sv-48 (drawable-tri-count (-> arg1 geo)))
(let ((t0-2 (drawable-vertex-ratio (-> arg1 geo) *debug-vertex-stats*)))
(s1-0 s0-0 sv-16 sv-32 sv-48 t0-2)
)
(format
#t
" ~D/~D/~F"
(drawable-frag-count (-> arg1 geo))
(drawable-tri-count (-> arg1 geo))
(drawable-vertex-ratio (-> arg1 geo) *debug-vertex-stats*)
)
)
)
@@ -255,7 +251,6 @@
;; definition for method 9 of type lod-set
;; INFO: Used lq/sq
(defmethod setup-lods! ((this lod-set) (arg0 skeleton-group) (arg1 art-group) (arg2 entity))
(local-vars (sv-16 res-tag))
(let ((v1-0 (-> arg1 length))
(s3-0 (-> arg0 max-lod))
)
@@ -278,13 +273,13 @@
(set! (-> this lod s3-0 dist) (res-lump-float arg2 'vis-dist :default 4095996000.0))
)
)
(let ((v1-14 (-> arg1 data (-> arg0 jgeo))))
(set! sv-16 (new 'static 'res-tag))
(let ((v1-15 (res-lump-data (-> v1-14 extra) 'lod-dist pointer :tag-ptr (& sv-16))))
(when v1-15
(dotimes (a0-6 (the-as int (-> sv-16 elt-count)))
(set! (-> this lod a0-6 dist) (-> (the-as (pointer float) (&+ v1-15 (* a0-6 4)))))
)
(let* ((v1-14 (-> arg1 data (-> arg0 jgeo)))
(sv-16 (new 'static 'res-tag))
(v1-15 (res-lump-data (-> v1-14 extra) 'lod-dist pointer :tag-ptr (& sv-16)))
)
(when v1-15
(dotimes (a0-6 (the-as int (-> sv-16 elt-count)))
(set! (-> this lod a0-6 dist) (-> (the-as (pointer float) (&+ v1-15 (* a0-6 4)))))
)
)
)
@@ -476,12 +471,6 @@
;; INFO: Used lq/sq
;; WARN: Return type mismatch symbol vs none.
(defun draw-joint-axes ((arg0 process-drawable))
(local-vars
(sv-64 (function symbol bucket-id vector vector meters rgba symbol))
(sv-80 symbol)
(sv-96 int)
(sv-112 vector)
)
(let ((s5-0 (new 'stack-no-clear 'vector2h))
(s4-0 (shl #x8000 16))
(s3-0 (new 'stack-no-clear 'vector))
@@ -494,17 +483,19 @@
(let ((s1-0 (-> arg0 node-list data s2-0 bone transform)))
(vector<-cspace! s3-0 (-> arg0 node-list data s2-0))
(dotimes (s0-0 3)
(set! sv-64 add-debug-vector)
(set! sv-80 #t)
(set! sv-96 318)
(set! sv-112 s3-0)
(let ((a3-0
(vector-normalize-copy! (new 'stack-no-clear 'vector) (the-as vector (+ (the-as uint s1-0) (* s0-0 16))) 1.0)
)
(t0-0 #x444ccccd)
(t1-0 (logior (ash 255 (* s0-0 8)) s4-0))
(let ((sv-64 add-debug-vector)
(sv-80 #t)
(sv-96 318)
(sv-112 s3-0)
)
(sv-64 sv-80 (the-as bucket-id sv-96) sv-112 a3-0 (the-as meters t0-0) (the-as rgba t1-0))
(sv-64
sv-80
(the-as bucket-id sv-96)
sv-112
(vector-normalize-copy! (new 'stack-no-clear 'vector) (the-as vector (+ (the-as uint s1-0) (* s0-0 16))) 1.0)
(meters 0.2)
(the-as rgba (logior (ash 255 (* s0-0 8)) s4-0))
)
)
)
)
@@ -629,7 +620,7 @@
;; WARN: Stack slot offset 20 signed mismatch
;; WARN: Stack slot offset 20 signed mismatch
(defun skeleton-group->draw-control ((arg0 process-drawable) (arg1 skeleton-group) (arg2 (pointer cspace-array)))
(local-vars (s2-0 draw-control) (sv-16 art-element) (sv-20 int))
(local-vars (s2-0 draw-control))
(let ((s3-0 (if (= (-> arg1 texture-level) 6)
(-> *level* default-level)
(-> arg0 level)
@@ -642,61 +633,63 @@
(set! s2-0 (the-as draw-control #f))
(goto cfg-50)
)
(set! sv-16 (-> s1-0 data (-> arg1 jgeo)))
(set! sv-20 (-> s1-0 length))
(when (or (< (-> arg1 jgeo) 0) (>= (-> arg1 jgeo) sv-20) (not sv-16) (!= (-> sv-16 type) art-joint-geo))
(go process-drawable-art-error "joint-geo")
(set! s2-0 (the-as draw-control #f))
(goto cfg-50)
)
(set! s2-0 (new 'process 'draw-control arg0 (the-as symbol sv-16)))
(let ((v1-24 s2-0))
(set! (-> v1-24 status) (draw-control-status uninited))
(set! (-> v1-24 art-group) s1-0)
(set! (-> v1-24 jgeo) (the-as art-joint-geo sv-16))
(set! (-> v1-24 force-lod) -1)
(set! (-> v1-24 cur-lod) -1)
(set! (-> v1-24 shadow) #f)
(set! (-> v1-24 shadow-ctrl) #f)
(set! (-> v1-24 data-format) (draw-control-data-format merc))
(set! (-> v1-24 color-mult quad) (-> (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) quad))
(set! (-> v1-24 color-emissive quad) (-> (new 'static 'vector) quad))
(set! (-> v1-24 longest-edge) (-> arg1 longest-edge))
(set! (-> v1-24 origin-joint-index) (the-as uint (-> arg1 origin-joint-index)))
(set! (-> v1-24 shadow-joint-index) (the-as uint (-> arg1 shadow-joint-index)))
)
(set! (-> s2-0 bounds quad) (-> arg1 bounds quad))
(let ((v1-26 (-> arg1 shadow)))
(when (and (> v1-26 0) (< v1-26 sv-20))
(let ((s0-0 (-> s1-0 data v1-26)))
(if (and (not (logtest? (the-as int (res-lump-value (-> arg0 entity) 'options uint128 :time -1000000000.0)) 8192))
(= (-> s0-0 type) shadow-geo)
)
(set! (-> s2-0 shadow) (the-as shadow-geo s0-0))
(let ((sv-16 (-> s1-0 data (-> arg1 jgeo))))
(let ((sv-20 (-> s1-0 length)))
(when (or (< (-> arg1 jgeo) 0) (>= (-> arg1 jgeo) sv-20) (not sv-16) (!= (-> sv-16 type) art-joint-geo))
(go process-drawable-art-error "joint-geo")
(set! s2-0 (the-as draw-control #f))
(goto cfg-50)
)
(set! s2-0 (new 'process 'draw-control arg0 (the-as symbol sv-16)))
(let ((v1-24 s2-0))
(set! (-> v1-24 status) (draw-control-status uninited))
(set! (-> v1-24 art-group) s1-0)
(set! (-> v1-24 jgeo) (the-as art-joint-geo sv-16))
(set! (-> v1-24 force-lod) -1)
(set! (-> v1-24 cur-lod) -1)
(set! (-> v1-24 shadow) #f)
(set! (-> v1-24 shadow-ctrl) #f)
(set! (-> v1-24 data-format) (draw-control-data-format merc))
(set! (-> v1-24 color-mult quad) (-> (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) quad))
(set! (-> v1-24 color-emissive quad) (-> (new 'static 'vector) quad))
(set! (-> v1-24 longest-edge) (-> arg1 longest-edge))
(set! (-> v1-24 origin-joint-index) (the-as uint (-> arg1 origin-joint-index)))
(set! (-> v1-24 shadow-joint-index) (the-as uint (-> arg1 shadow-joint-index)))
)
(set! (-> s2-0 bounds quad) (-> arg1 bounds quad))
(let ((v1-26 (-> arg1 shadow)))
(when (and (> v1-26 0) (< v1-26 sv-20))
(let ((s0-0 (-> s1-0 data v1-26)))
(if (and (not (logtest? (the-as int (res-lump-value (-> arg0 entity) 'options uint128 :time -1000000000.0)) 8192))
(= (-> s0-0 type) shadow-geo)
)
(set! (-> s2-0 shadow) (the-as shadow-geo s0-0))
)
)
)
)
)
)
(if (not (setup-lods! (-> s2-0 lod-set) arg1 s1-0 (-> arg0 entity)))
(go process-drawable-art-error "mesh")
(if (not (setup-lods! (-> s2-0 lod-set) arg1 s1-0 (-> arg0 entity)))
(go process-drawable-art-error "mesh")
)
(let ((v1-41 (res-lump-value (-> sv-16 extra) 'texture-bucket int :default (the-as uint128 1) :time -1000000000.0))
)
(case (if (= (-> arg1 texture-level) 6)
6
(-> s3-0 index)
)
((6)
(set! v1-41 (-> arg1 sort))
)
)
(set! (-> s2-0 default-texture-page) (the-as uint v1-41))
)
)
(let ((v1-41 (res-lump-value (-> sv-16 extra) 'texture-bucket int :default (the-as uint128 1) :time -1000000000.0))
)
(case (if (= (-> arg1 texture-level) 6)
6
(-> s3-0 index)
)
((6)
(set! v1-41 (-> arg1 sort))
)
(set! (-> s2-0 level-index) (the-as uint (-> s3-0 index)))
(set! (-> s2-0 dma-add-func) (the-as (function process-drawable draw-control symbol object none) nothing))
(set! (-> arg2 0) (setup-cspace-and-add s2-0 (the-as art-joint-geo sv-16) 'process))
)
(set! (-> s2-0 default-texture-page) (the-as uint v1-41))
)
(set! (-> s2-0 level-index) (the-as uint (-> s3-0 index)))
)
(set! (-> s2-0 dma-add-func) (the-as (function process-drawable draw-control symbol object none) nothing))
(set! (-> arg2 0) (setup-cspace-and-add s2-0 (the-as art-joint-geo sv-16) 'process))
(set! (-> s2-0 dma-add-func) dma-add-process-drawable)
(set! (-> s2-0 shadow-mask) (res-lump-value (-> arg0 entity) 'shadow-mask uint :time -1000000000.0))
(set! (-> s2-0 shadow-values) (res-lump-value (-> arg0 entity) 'shadow-values uint :time -1000000000.0))