mirror of
https://github.com/open-goal/jak-project
synced 2026-08-04 01:04:11 -04:00
jak2 ref
This commit is contained in:
+52
-55
@@ -362,15 +362,6 @@
|
||||
;; definition for method 28 of type joint-exploder
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod adjust-bbox-for-limits-along-axis ((this joint-exploder) (arg0 joint-exploder-list) (arg1 int))
|
||||
(local-vars
|
||||
(sv-16 int)
|
||||
(sv-32 int)
|
||||
(sv-48 joint-exploder-joint)
|
||||
(sv-64 int)
|
||||
(sv-80 joint-exploder-joint)
|
||||
(sv-96 int)
|
||||
(sv-112 joint-exploder-joint)
|
||||
)
|
||||
(let ((s5-0 (the-as joint-exploder-list #f)))
|
||||
(let ((v1-0 1))
|
||||
(until (= v1-0 5)
|
||||
@@ -394,22 +385,23 @@
|
||||
)
|
||||
)
|
||||
(set! (-> arg0 bbox-valid?) #f)
|
||||
(let ((s2-0 (-> this joints)))
|
||||
(set! sv-32 (-> arg0 head))
|
||||
(let ((s1-0 0)
|
||||
(s0-0 0)
|
||||
)
|
||||
(let ((v1-7 arg1))
|
||||
(cond
|
||||
((zero? v1-7)
|
||||
(let ((f30-0 (* 0.5 (+ (-> arg0 bbox min x) (-> arg0 bbox max x)))))
|
||||
(while (>= sv-32 0)
|
||||
(set! sv-48 (-> s2-0 joint sv-32))
|
||||
(let ((s2-0 (-> this joints))
|
||||
(sv-32 (-> arg0 head))
|
||||
(s1-0 0)
|
||||
(s0-0 0)
|
||||
)
|
||||
(let ((v1-7 arg1))
|
||||
(cond
|
||||
((zero? v1-7)
|
||||
(let ((f30-0 (* 0.5 (+ (-> arg0 bbox min x) (-> arg0 bbox max x)))))
|
||||
(while (>= sv-32 0)
|
||||
(let ((sv-48 (-> s2-0 joint sv-32)))
|
||||
(cond
|
||||
((>= (-> sv-48 mat trans x) f30-0)
|
||||
(set! sv-16 (remove-joint-from-list this arg0 sv-32))
|
||||
(add-joint-to-list this s5-0 sv-32)
|
||||
(set! sv-32 sv-16)
|
||||
(let ((sv-16 (remove-joint-from-list this arg0 sv-32)))
|
||||
(add-joint-to-list this s5-0 sv-32)
|
||||
(set! sv-32 sv-16)
|
||||
)
|
||||
(update-bbox-for-joint this s5-0 sv-48)
|
||||
(+! s0-0 1)
|
||||
)
|
||||
@@ -422,15 +414,17 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((= v1-7 1)
|
||||
(let ((f30-1 (* 0.5 (+ (-> arg0 bbox min y) (-> arg0 bbox max y)))))
|
||||
(while (>= sv-32 0)
|
||||
(set! sv-80 (-> s2-0 joint sv-32))
|
||||
)
|
||||
((= v1-7 1)
|
||||
(let ((f30-1 (* 0.5 (+ (-> arg0 bbox min y) (-> arg0 bbox max y)))))
|
||||
(while (>= sv-32 0)
|
||||
(let ((sv-80 (-> s2-0 joint sv-32)))
|
||||
(cond
|
||||
((>= (-> sv-80 mat trans y) f30-1)
|
||||
(set! sv-64 (remove-joint-from-list this arg0 sv-32))
|
||||
(add-joint-to-list this s5-0 sv-32)
|
||||
(set! sv-32 sv-64)
|
||||
(let ((sv-64 (remove-joint-from-list this arg0 sv-32)))
|
||||
(add-joint-to-list this s5-0 sv-32)
|
||||
(set! sv-32 sv-64)
|
||||
)
|
||||
(update-bbox-for-joint this s5-0 sv-80)
|
||||
(+! s0-0 1)
|
||||
)
|
||||
@@ -443,15 +437,17 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((= v1-7 2)
|
||||
(let ((f30-2 (* 0.5 (+ (-> arg0 bbox min z) (-> arg0 bbox max z)))))
|
||||
(while (>= sv-32 0)
|
||||
(set! sv-112 (-> s2-0 joint sv-32))
|
||||
)
|
||||
((= v1-7 2)
|
||||
(let ((f30-2 (* 0.5 (+ (-> arg0 bbox min z) (-> arg0 bbox max z)))))
|
||||
(while (>= sv-32 0)
|
||||
(let ((sv-112 (-> s2-0 joint sv-32)))
|
||||
(cond
|
||||
((>= (-> sv-112 mat trans z) f30-2)
|
||||
(set! sv-96 (remove-joint-from-list this arg0 sv-32))
|
||||
(add-joint-to-list this s5-0 sv-32)
|
||||
(set! sv-32 sv-96)
|
||||
(let ((sv-96 (remove-joint-from-list this arg0 sv-32)))
|
||||
(add-joint-to-list this s5-0 sv-32)
|
||||
(set! sv-32 sv-96)
|
||||
)
|
||||
(update-bbox-for-joint this s5-0 sv-112)
|
||||
(+! s0-0 1)
|
||||
)
|
||||
@@ -464,19 +460,19 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((zero? s0-0)
|
||||
(final-adjust this arg0 arg1)
|
||||
)
|
||||
((zero? s1-0)
|
||||
(if (not (-> s5-0 probeless?))
|
||||
(final-adjust this s5-0 arg1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((zero? s0-0)
|
||||
(final-adjust this arg0 arg1)
|
||||
)
|
||||
((zero? s1-0)
|
||||
(if (not (-> s5-0 probeless?))
|
||||
(final-adjust this s5-0 arg1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
s5-0
|
||||
)
|
||||
@@ -486,14 +482,13 @@
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch symbol vs int.
|
||||
(defmethod final-adjust ((this joint-exploder) (arg0 joint-exploder-list) (arg1 int))
|
||||
(local-vars (sv-48 int) (sv-64 (inline-array joint-exploder-list)) (sv-80 joint-exploder-joint))
|
||||
(set! (-> arg0 bbox-valid?) #f)
|
||||
(let ((s3-0 (-> this joints))
|
||||
(s2-0 (-> arg0 head))
|
||||
)
|
||||
(while (>= s2-0 0)
|
||||
(set! sv-80 (-> s3-0 joint s2-0))
|
||||
(let ((s1-0 (new 'stack-no-clear 'bounding-box))
|
||||
(let ((sv-80 (-> s3-0 joint s2-0))
|
||||
(s1-0 (new 'stack-no-clear 'bounding-box))
|
||||
(s0-0 (-> arg0 bbox-valid?))
|
||||
)
|
||||
(set! (-> s1-0 min quad) (-> arg0 bbox min quad))
|
||||
@@ -514,11 +509,13 @@
|
||||
)
|
||||
)
|
||||
(when v1-8
|
||||
(set! sv-48 (remove-joint-from-list this arg0 s2-0))
|
||||
(set! sv-64 (-> this lists))
|
||||
(add-joint-to-list this (-> sv-64 0) s2-0)
|
||||
(set! s2-0 sv-48)
|
||||
(update-bbox-for-joint this (-> sv-64 0) sv-80)
|
||||
(let ((sv-48 (remove-joint-from-list this arg0 s2-0))
|
||||
(sv-64 (-> this lists))
|
||||
)
|
||||
(add-joint-to-list this (-> sv-64 0) s2-0)
|
||||
(set! s2-0 sv-48)
|
||||
(update-bbox-for-joint this (-> sv-64 0) sv-80)
|
||||
)
|
||||
(set! (-> arg0 bbox-valid?) s0-0)
|
||||
(set! (-> arg0 bbox min quad) (-> s1-0 min quad))
|
||||
(set! (-> arg0 bbox max quad) (-> s1-0 max quad))
|
||||
|
||||
Reference in New Issue
Block a user