mirror of
https://github.com/open-goal/jak-project
synced 2026-08-15 21:00:19 -04:00
jak2 ref
This commit is contained in:
+76
-83
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user