[jak3] prim rendering for cloth (#3607)

This commit is contained in:
water111
2024-07-26 20:31:32 -04:00
committed by GitHub
parent f0b46ff2e5
commit 82a23c747e
32 changed files with 4833 additions and 83 deletions
+2 -6
View File
@@ -255,8 +255,8 @@
(deftype cloth-base (basic)
()
(:methods
(init! (_type_) int)
(cloth-base-method-10 (_type_ cloth-params handle) int)
(update! (_type_) int)
(setup-from-params! (_type_ cloth-params handle) int)
)
)
@@ -273,7 +273,3 @@
;; failed to figure out what this is:
0
+10 -10
View File
@@ -291,10 +291,10 @@
(momentum vector :inline)
)
(:methods
(calculate-wind! (_type_) none)
(verlet-particle-system-method-12 (_type_ float) none)
(verlet-particle-system-method-13 (_type_) none)
(verlet-particle-system-method-14 (_type_) none)
(accumulate-external-forces! (_type_) none)
(compute-verlet-step (_type_ float) none)
(run-one-iteration (_type_) none)
(reset! (_type_) none)
(debug-draw (_type_) none)
)
)
@@ -388,9 +388,9 @@
(:methods
(initialize-cloth-system! (_type_ cloth-params) none)
(debug-draw-spheres (_type_) none)
(cloth-system-method-18 (_type_) int)
(cloth-system-method-19 (_type_) none)
(cloth-system-method-20 (_type_) none)
(post-physics-update (_type_) int)
(enforce-constraints-1 (_type_) none)
(enforce-constraints-2 (_type_) none)
(cloth-system-method-21 (_type_) none)
(cloth-system-method-22 (_type_) none)
(cloth-system-method-23 (_type_) none)
@@ -404,9 +404,9 @@
(cloth-system-method-31 (_type_ current-position-info) none)
(cloth-system-method-32 (_type_ vector int int current-position-info) none)
(cloth-system-method-33 (_type_ vu-lights) none)
(cloth-system-method-34 (_type_) none)
(cloth-system-method-35 (_type_) none)
(cloth-system-method-36 (_type_) none)
(hide! (_type_) none)
(reset-locations (_type_) none)
(pre-physics-update (_type_) none)
(cloth-system-cmd-handler (_type_ pair) none)
)
)
File diff suppressed because it is too large Load Diff
@@ -378,7 +378,7 @@
(let ((proc (handle->process (-> gp-0 s4-0))))
(when proc
(dotimes (i (-> (the-as process-drawable proc) draw cloth-instances length))
(init! (-> (the-as process-drawable proc) draw cloth-instances i))
(update! (-> (the-as process-drawable proc) draw cloth-instances i))
)
)
)
@@ -898,7 +898,7 @@
(set! (-> this draw cloth-instances length) (-> this draw cloth-instances allocated-length))
(dotimes (s4-4 (-> arg0 clothing length))
(set! (-> this draw cloth-instances s4-4) (new 'process 'cloth-on-skeleton))
(cloth-base-method-10 (-> this draw cloth-instances s4-4) (-> arg0 clothing s4-4) (process->handle this))
(setup-from-params! (-> this draw cloth-instances s4-4) (-> arg0 clothing s4-4) (process->handle this))
)
)
(logior! (-> this draw global-effect) (-> arg0 global-effects))
@@ -2312,7 +2312,7 @@
)
(dotimes (i (-> proc draw cloth-instances length))
(if (not arg1)
(cloth-system-method-34 (-> proc draw cloth-instances i))
(hide! (-> proc draw cloth-instances i))
(logclear! (-> proc draw cloth-instances i flags) (cloth-flag hidden))
)
)
+1 -1
View File
@@ -427,7 +427,7 @@
(case (-> self ext-geo)
(((target-geo jakc))
(dotimes (s5-1 (-> gp-1 clothing length))
(cloth-base-method-10 (-> self draw cloth-instances s5-1) (-> gp-1 clothing s5-1) (process->handle self))
(setup-from-params! (-> self draw cloth-instances s5-1) (-> gp-1 clothing s5-1) (process->handle self))
(logior! (-> self draw cloth-instances s5-1 flags) (cloth-flag need-reset active))
)
)
+4 -1
View File
@@ -384,7 +384,10 @@
// asm
"close-sky-buffer",
// protect-gunship
"find-reposition-pt"
"find-reposition-pt",
// asm
"(method 19 cloth-system)",
"(method 37 cloth-system)"
],
"skip_compile_states": {