Files
jak-project/test/decompiler/reference/jak2/engine/collide/collide-frag_REF.gc
T
water111 8ae4829f48 [decomp] collide-hash, collide-frag, collide-probe (#1998)
The only interesting one is `collide-hash`, which is untested.
The other two are very likely unused. I skipped the annoying code in
`collide-probe` because it's not used and the same as jak 1.
2022-10-29 20:32:03 -04:00

107 lines
3.7 KiB
Common Lisp
Vendored
Generated

;;-*-Lisp-*-
(in-package goal)
;; definition for method 9 of type drawable-tree-collide-fragment
(defmethod login drawable-tree-collide-fragment ((obj drawable-tree-collide-fragment))
obj
)
;; definition for method 10 of type drawable-tree-collide-fragment
;; WARN: Return type mismatch int vs none.
(defmethod draw drawable-tree-collide-fragment ((obj drawable-tree-collide-fragment) (arg0 drawable-tree-collide-fragment) (arg1 display-frame))
(when *display-render-collision*
(dotimes (s4-0 (-> obj length))
(draw (-> obj data s4-0) (-> obj data s4-0) arg1)
)
)
0
(none)
)
;; definition for method 15 of type drawable-tree-collide-fragment
(defmethod unpack-vis drawable-tree-collide-fragment ((obj drawable-tree-collide-fragment) (arg0 (pointer int8)) (arg1 (pointer int8)))
arg1
)
;; definition for method 8 of type collide-fragment
;; WARN: Return type mismatch int vs collide-fragment.
(defmethod mem-usage collide-fragment ((obj collide-fragment) (arg0 memory-usage-block) (arg1 int))
(let ((s5-0 (if (logtest? arg1 1)
54
50
)
)
(s4-0 (-> obj mesh))
)
(set! (-> arg0 data s5-0 name) (symbol->string 'collide-fragment))
(+! (-> arg0 data s5-0 count) 1)
(let ((v1-11 (+ (asize-of obj) (asize-of s4-0))))
(+! (-> arg0 data s5-0 used) v1-11)
(+! (-> arg0 data s5-0 total) (logand -16 (+ v1-11 15)))
)
(set! (-> arg0 data (+ s5-0 1) name) "collision-poly")
(+! (-> arg0 data (+ s5-0 1) count) (-> s4-0 poly-count))
(let ((v1-22 (+ (-> s4-0 strip-data-len) (-> s4-0 poly-count))))
(+! (-> arg0 data (+ s5-0 1) used) v1-22)
(+! (-> arg0 data (+ s5-0 1) total) v1-22)
)
(set! (-> arg0 data (+ s5-0 2) name) "collision-vertex")
(+! (-> arg0 data (+ s5-0 2) count) (-> s4-0 vertex-count))
(let ((v1-31 (* (-> s4-0 vertex-data-qwc) 16)))
(+! (-> arg0 data (+ s5-0 2) used) v1-31)
(let ((v0-2 (+ (-> arg0 data (+ s5-0 2) total) v1-31)))
(set! (-> arg0 data (+ s5-0 2) total) v0-2)
(the-as collide-fragment v0-2)
)
)
)
)
;; definition for method 9 of type drawable-inline-array-collide-fragment
(defmethod login drawable-inline-array-collide-fragment ((obj drawable-inline-array-collide-fragment))
obj
)
;; definition for method 10 of type collide-fragment
;; WARN: Return type mismatch int vs none.
(defmethod draw collide-fragment ((obj collide-fragment) (arg0 collide-fragment) (arg1 display-frame))
0
(none)
)
;; definition for method 10 of type drawable-inline-array-collide-fragment
;; WARN: Return type mismatch int vs none.
(defmethod draw drawable-inline-array-collide-fragment ((obj drawable-inline-array-collide-fragment)
(arg0 drawable-inline-array-collide-fragment)
(arg1 display-frame)
)
(dotimes (s4-0 (-> obj length))
(let ((s3-0 (-> obj data s4-0)))
(if (sphere-cull (-> s3-0 bsphere))
(draw s3-0 s3-0 arg1)
)
)
)
0
(none)
)
;; definition for method 8 of type drawable-inline-array-collide-fragment
(defmethod mem-usage drawable-inline-array-collide-fragment ((obj drawable-inline-array-collide-fragment) (arg0 memory-usage-block) (arg1 int))
(set! (-> arg0 length) (max 1 (-> arg0 length)))
(set! (-> arg0 data 0 name) (symbol->string 'drawable-group))
(+! (-> arg0 data 0 count) 1)
(let ((v1-7 32))
(+! (-> arg0 data 0 used) v1-7)
(+! (-> arg0 data 0 total) (logand -16 (+ v1-7 15)))
)
(dotimes (s3-0 (-> obj length))
(mem-usage (-> obj data s3-0) arg0 arg1)
)
obj
)