mirror of
https://github.com/open-goal/jak-project
synced 2026-07-09 23:01:56 -04:00
655 lines
24 KiB
Common Lisp
Vendored
Generated
655 lines
24 KiB
Common Lisp
Vendored
Generated
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; definition of type stick-constraint
|
|
(deftype stick-constraint (structure)
|
|
((constraint-length-half float)
|
|
(one-over-two-times-constraint-length float)
|
|
(constraint-length-sqd float)
|
|
(particle0 uint16)
|
|
(particle1 uint16)
|
|
(vec vector :inline :overlay-at constraint-length-half)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type stick-constraint
|
|
(defmethod inspect ((this stick-constraint))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this 'stick-constraint)
|
|
(format #t "~1Tconstraint-length-half: ~f~%" (-> this constraint-length-half))
|
|
(format #t "~1Tone-over-two-times-constraint-length: ~f~%" (-> this one-over-two-times-constraint-length))
|
|
(format #t "~1Tconstraint-length-sqd: ~f~%" (-> this constraint-length-sqd))
|
|
(format #t "~1Tparticle0: ~D~%" (-> this particle0))
|
|
(format #t "~1Tparticle1: ~D~%" (-> this particle1))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; definition of type verlet-particle
|
|
(deftype verlet-particle (structure)
|
|
((pos vector :inline)
|
|
(prev-pos vector :inline)
|
|
(mass-scale float)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type verlet-particle
|
|
(defmethod inspect ((this verlet-particle))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this 'verlet-particle)
|
|
(format #t "~1Tpos: #<vector @ #x~X>~%" (-> this pos))
|
|
(format #t "~1Tprev-pos: #<vector @ #x~X>~%" (-> this prev-pos))
|
|
(format #t "~1Tmass-scale: ~f~%" (-> this mass-scale))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; definition of type disc-constraint
|
|
(deftype disc-constraint (structure)
|
|
((normal vector :inline)
|
|
(origin vector :inline)
|
|
(radius float)
|
|
(start-particle-index int16)
|
|
(end-particle-index int16)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type disc-constraint
|
|
(defmethod inspect ((this disc-constraint))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this 'disc-constraint)
|
|
(format #t "~1Tnormal: #<vector @ #x~X>~%" (-> this normal))
|
|
(format #t "~1Torigin: #<vector @ #x~X>~%" (-> this origin))
|
|
(format #t "~1Tradius: ~f~%" (-> this radius))
|
|
(format #t "~1Tstart-particle-index: ~D~%" (-> this start-particle-index))
|
|
(format #t "~1Tend-particle-index: ~D~%" (-> this end-particle-index))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; definition of type cylinder-constraint
|
|
(deftype cylinder-constraint (structure)
|
|
((c0 vector :inline)
|
|
(norm vector :inline)
|
|
(length float)
|
|
(radius float)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type cylinder-constraint
|
|
(defmethod inspect ((this cylinder-constraint))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this 'cylinder-constraint)
|
|
(format #t "~1Tc0: #<vector @ #x~X>~%" (-> this c0))
|
|
(format #t "~1Tnorm: #<vector @ #x~X>~%" (-> this norm))
|
|
(format #t "~1Tlength: ~f~%" (-> this length))
|
|
(format #t "~1Tradius: ~f~%" (-> this radius))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; definition of type particle-anchor-point
|
|
(deftype particle-anchor-point (structure)
|
|
((anchor-pos vector :inline)
|
|
(particle-index uint16)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type particle-anchor-point
|
|
(defmethod inspect ((this particle-anchor-point))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this 'particle-anchor-point)
|
|
(format #t "~1Tanchor-pos: #<vector @ #x~X>~%" (-> this anchor-pos))
|
|
(format #t "~1Tparticle-index: ~D~%" (-> this particle-index))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; definition of type particle-array
|
|
(deftype particle-array (inline-array-class)
|
|
((data verlet-particle :inline :dynamic)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type particle-array
|
|
(defmethod inspect ((this particle-array))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this (-> this type))
|
|
(format #t "~1Tlength: ~D~%" (-> this length))
|
|
(format #t "~1Tallocated-length: ~D~%" (-> this allocated-length))
|
|
(format #t "~1Tdata[0] @ #x~X~%" (-> this data))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(set! (-> particle-array heap-base) (the-as uint 48))
|
|
|
|
;; definition of type float-array
|
|
(deftype float-array (inline-array-class)
|
|
((data float :dynamic)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type float-array
|
|
(defmethod inspect ((this float-array))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this (-> this type))
|
|
(format #t "~1Tlength: ~D~%" (-> this length))
|
|
(format #t "~1Tallocated-length: ~D~%" (-> this allocated-length))
|
|
(format #t "~1Tdata[0] @ #x~X~%" (-> this data))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(set! (-> float-array heap-base) (the-as uint 4))
|
|
|
|
;; definition of type stick-constraint-array
|
|
(deftype stick-constraint-array (inline-array-class)
|
|
((data stick-constraint :inline :dynamic)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type stick-constraint-array
|
|
(defmethod inspect ((this stick-constraint-array))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this (-> this type))
|
|
(format #t "~1Tlength: ~D~%" (-> this length))
|
|
(format #t "~1Tallocated-length: ~D~%" (-> this allocated-length))
|
|
(format #t "~1Tdata[0] @ #x~X~%" (-> this data))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(set! (-> stick-constraint-array heap-base) (the-as uint 16))
|
|
|
|
;; definition of type collision-sphere-array
|
|
(deftype collision-sphere-array (inline-array-class)
|
|
((data sphere :inline :dynamic)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type collision-sphere-array
|
|
(defmethod inspect ((this collision-sphere-array))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this (-> this type))
|
|
(format #t "~1Tlength: ~D~%" (-> this length))
|
|
(format #t "~1Tallocated-length: ~D~%" (-> this allocated-length))
|
|
(format #t "~1Tdata[0] @ #x~X~%" (-> this data))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(set! (-> collision-sphere-array heap-base) (the-as uint 16))
|
|
|
|
;; definition of type collision-disc-array
|
|
(deftype collision-disc-array (inline-array-class)
|
|
((data disc-constraint :inline :dynamic)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type collision-disc-array
|
|
(defmethod inspect ((this collision-disc-array))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this (-> this type))
|
|
(format #t "~1Tlength: ~D~%" (-> this length))
|
|
(format #t "~1Tallocated-length: ~D~%" (-> this allocated-length))
|
|
(format #t "~1Tdata[0] @ #x~X~%" (-> this data))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(set! (-> collision-disc-array heap-base) (the-as uint 48))
|
|
|
|
;; definition of type collision-cylinder-array
|
|
(deftype collision-cylinder-array (inline-array-class)
|
|
((data cylinder-constraint :inline :dynamic)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type collision-cylinder-array
|
|
(defmethod inspect ((this collision-cylinder-array))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this (-> this type))
|
|
(format #t "~1Tlength: ~D~%" (-> this length))
|
|
(format #t "~1Tallocated-length: ~D~%" (-> this allocated-length))
|
|
(format #t "~1Tdata[0] @ #x~X~%" (-> this data))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(set! (-> collision-cylinder-array heap-base) (the-as uint 48))
|
|
|
|
;; definition of type anchor-point-array
|
|
(deftype anchor-point-array (inline-array-class)
|
|
((data particle-anchor-point :inline :dynamic)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type anchor-point-array
|
|
(defmethod inspect ((this anchor-point-array))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this (-> this type))
|
|
(format #t "~1Tlength: ~D~%" (-> this length))
|
|
(format #t "~1Tallocated-length: ~D~%" (-> this allocated-length))
|
|
(format #t "~1Tdata[0] @ #x~X~%" (-> this data))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(set! (-> anchor-point-array heap-base) (the-as uint 32))
|
|
|
|
;; definition of type verlet-particle-system
|
|
(deftype verlet-particle-system (cloth-base)
|
|
((particles particle-array)
|
|
(drag float)
|
|
(accum-force vector :inline)
|
|
(timestep-frequency int8)
|
|
(last-simulate-remaining int8)
|
|
(momentum vector :inline)
|
|
)
|
|
(:methods
|
|
(accumulate-external-forces! (_type_) none)
|
|
(compute-verlet-step (_type_ float) none)
|
|
(run-one-iteration (_type_) none)
|
|
(reset! (_type_) none)
|
|
(debug-draw (_type_) none)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type verlet-particle-system
|
|
(defmethod inspect ((this verlet-particle-system))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this (-> this type))
|
|
(format #t "~1Tparticles: ~A~%" (-> this particles))
|
|
(format #t "~1Tdrag: ~f~%" (-> this drag))
|
|
(format #t "~1Taccum-force: #<vector @ #x~X>~%" (-> this accum-force))
|
|
(format #t "~1Ttimestep-frequency: ~D~%" (-> this timestep-frequency))
|
|
(format #t "~1Tlast-simulate-remaining: ~D~%" (-> this last-simulate-remaining))
|
|
(format #t "~1Tmomentum: #<vector @ #x~X>~%" (-> this momentum))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; definition of type current-position-info
|
|
(deftype current-position-info (structure)
|
|
((current-vert-index uint16)
|
|
(last-2-x-index uint16)
|
|
(last-2-y-index uint16)
|
|
(last-x-index uint16)
|
|
(last-y-index uint16)
|
|
(lights vu-lights :inline)
|
|
(scale vector :inline)
|
|
(clamp-col vector :inline)
|
|
(last-normal vector :inline)
|
|
(face-normal-needs-flip? symbol)
|
|
(cross-index0 int8)
|
|
(cross-index1 int8)
|
|
(backside-normal vector :inline)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type current-position-info
|
|
(defmethod inspect ((this current-position-info))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this 'current-position-info)
|
|
(format #t "~1Tcurrent-vert-index: ~D~%" (-> this current-vert-index))
|
|
(format #t "~1Tlast-2-x-index: ~D~%" (-> this last-2-x-index))
|
|
(format #t "~1Tlast-2-y-index: ~D~%" (-> this last-2-y-index))
|
|
(format #t "~1Tlast-x-index: ~D~%" (-> this last-x-index))
|
|
(format #t "~1Tlast-y-index: ~D~%" (-> this last-y-index))
|
|
(format #t "~1Tlights: #<vu-lights @ #x~X>~%" (-> this lights))
|
|
(format #t "~1Tscale: #<vector @ #x~X>~%" (-> this scale))
|
|
(format #t "~1Tclamp-col: #<vector @ #x~X>~%" (-> this clamp-col))
|
|
(format #t "~1Tlast-normal: #<vector @ #x~X>~%" (-> this last-normal))
|
|
(format #t "~1Tface-normal-needs-flip?: ~A~%" (-> this face-normal-needs-flip?))
|
|
(format #t "~1Tcross-index0: ~D~%" (-> this cross-index0))
|
|
(format #t "~1Tcross-index1: ~D~%" (-> this cross-index1))
|
|
(format #t "~1Tbackside-normal: #<vector @ #x~X>~%" (-> this backside-normal))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; definition of type cloth-system
|
|
(deftype cloth-system (verlet-particle-system)
|
|
((ground-constraint float)
|
|
(disc-collision-constraints collision-disc-array)
|
|
(collision-constraints collision-sphere-array)
|
|
(stick-constraints stick-constraint-array)
|
|
(anchor-points anchor-point-array)
|
|
(constraint-strengths int32 3)
|
|
(num-xy-constraints int16)
|
|
(num-diagonal-constraints int16)
|
|
(cloth-width int32)
|
|
(cloth-height int32)
|
|
(strip prim-strip)
|
|
(strip2 prim-strip)
|
|
(strip3 prim-strip)
|
|
(mesh art-cloth-geo)
|
|
(gravity-constant float)
|
|
(wind-constant float)
|
|
(flags cloth-flag)
|
|
(thickness-scalar float)
|
|
(ball-collision-radius float)
|
|
(face-normal-scalar float)
|
|
(reset-count int8)
|
|
(num-iterations int8)
|
|
(secret-disable game-secrets)
|
|
(params cloth-params)
|
|
)
|
|
(:methods
|
|
(initialize-cloth-system! (_type_ cloth-params) none)
|
|
(debug-draw-spheres (_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)
|
|
(cloth-system-method-24 (_type_) int)
|
|
(cloth-system-method-25 (_type_) int)
|
|
(cloth-system-method-26 (_type_) none)
|
|
(cloth-system-method-27 (_type_ vector int int current-position-info) vector)
|
|
(cloth-system-method-28 (_type_ int int current-position-info) none)
|
|
(cloth-system-method-29 (_type_ int int current-position-info int) uint)
|
|
(cloth-system-method-30 (_type_ int int current-position-info int) none)
|
|
(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)
|
|
(hide! (_type_) none)
|
|
(reset-locations (_type_) none)
|
|
(pre-physics-update (_type_) none)
|
|
(cloth-system-cmd-handler (_type_ pair) none)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type cloth-system
|
|
(defmethod inspect ((this cloth-system))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-50)
|
|
)
|
|
(format #t "[~8x] ~A~%" this (-> this type))
|
|
(format #t "~1Tparticles: ~A~%" (-> this particles))
|
|
(format #t "~1Tdrag: ~f~%" (-> this drag))
|
|
(format #t "~1Taccum-force: #<vector @ #x~X>~%" (-> this accum-force))
|
|
(format #t "~1Ttimestep-frequency: ~D~%" (-> this timestep-frequency))
|
|
(format #t "~1Tlast-simulate-remaining: ~D~%" (-> this last-simulate-remaining))
|
|
(format #t "~1Tmomentum: #<vector @ #x~X>~%" (-> this momentum))
|
|
(format #t "~1Tground-constraint: ~f~%" (-> this ground-constraint))
|
|
(format #t "~1Tdisc-collision-constraints: ~A~%" (-> this disc-collision-constraints))
|
|
(format #t "~1Tcollision-constraints: ~A~%" (-> this collision-constraints))
|
|
(format #t "~1Tstick-constraints: ~A~%" (-> this stick-constraints))
|
|
(format #t "~1Tanchor-points: ~A~%" (-> this anchor-points))
|
|
(format #t "~1Tconstraint-strengths[3] @ #x~X~%" (-> this constraint-strengths))
|
|
(format #t "~1Tnum-xy-constraints: ~D~%" (-> this num-xy-constraints))
|
|
(format #t "~1Tnum-diagonal-constraints: ~D~%" (-> this num-diagonal-constraints))
|
|
(format #t "~1Tcloth-width: ~D~%" (-> this cloth-width))
|
|
(format #t "~1Tcloth-height: ~D~%" (-> this cloth-height))
|
|
(format #t "~1Tstrip: ~A~%" (-> this strip))
|
|
(format #t "~1Tstrip2: ~A~%" (-> this strip2))
|
|
(format #t "~1Tstrip3: ~A~%" (-> this strip3))
|
|
(format #t "~1Tmesh: ~A~%" (-> this mesh))
|
|
(format #t "~1Tgravity-constant: ~f~%" (-> this gravity-constant))
|
|
(format #t "~1Twind-constant: ~f~%" (-> this wind-constant))
|
|
(format #t "~1Tflags: #x~X : (cloth-flag " (-> this flags))
|
|
(let ((s5-0 (-> this flags)))
|
|
(if (= (logand s5-0 (cloth-flag active)) (cloth-flag active))
|
|
(format #t "active ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag suppress-mesh-failure)) (cloth-flag suppress-mesh-failure))
|
|
(format #t "suppress-mesh-failure ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag need-setup)) (cloth-flag need-setup))
|
|
(format #t "need-setup ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag double-sided)) (cloth-flag double-sided))
|
|
(format #t "double-sided ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag flip-normals)) (cloth-flag flip-normals))
|
|
(format #t "flip-normals ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag use-global-wind)) (cloth-flag use-global-wind))
|
|
(format #t "use-global-wind ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag inited)) (cloth-flag inited))
|
|
(format #t "inited ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag use-wind)) (cloth-flag use-wind))
|
|
(format #t "use-wind ")
|
|
)
|
|
(if (= (logand (cloth-flag using-alt-tex) s5-0) (cloth-flag using-alt-tex))
|
|
(format #t "using-alt-tex ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag check-ground)) (cloth-flag check-ground))
|
|
(format #t "check-ground ")
|
|
)
|
|
(if (= (logand (cloth-flag use-old-resets) s5-0) (cloth-flag use-old-resets))
|
|
(format #t "use-old-resets ")
|
|
)
|
|
(if (= (logand (cloth-flag local-space) s5-0) (cloth-flag local-space))
|
|
(format #t "local-space ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag use-parent-momentum)) (cloth-flag use-parent-momentum))
|
|
(format #t "use-parent-momentum ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag wraps)) (cloth-flag wraps))
|
|
(format #t "wraps ")
|
|
)
|
|
(if (= (logand (cloth-flag local-space-xyz) s5-0) (cloth-flag local-space-xyz))
|
|
(format #t "local-space-xyz ")
|
|
)
|
|
(if (= (logand (cloth-flag riding) s5-0) (cloth-flag riding))
|
|
(format #t "riding ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag need-reset)) (cloth-flag need-reset))
|
|
(format #t "need-reset ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag use-momentum)) (cloth-flag use-momentum))
|
|
(format #t "use-momentum ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag no-draw)) (cloth-flag no-draw))
|
|
(format #t "no-draw ")
|
|
)
|
|
(if (= (logand (cloth-flag local-space-y) s5-0) (cloth-flag local-space-y))
|
|
(format #t "local-space-y ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag no-gravity)) (cloth-flag no-gravity))
|
|
(format #t "no-gravity ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag autogen-uvs)) (cloth-flag autogen-uvs))
|
|
(format #t "autogen-uvs ")
|
|
)
|
|
(if (= (logand (cloth-flag hidden) s5-0) (cloth-flag hidden))
|
|
(format #t "hidden ")
|
|
)
|
|
)
|
|
(format #t ")~%")
|
|
(format #t "~1Tthickness-scalar: ~f~%" (-> this thickness-scalar))
|
|
(format #t "~1Tball-collision-radius: ~f~%" (-> this ball-collision-radius))
|
|
(format #t "~1Tface-normal-scalar: ~f~%" (-> this face-normal-scalar))
|
|
(format #t "~1Treset-count: ~D~%" (-> this reset-count))
|
|
(format #t "~1Tnum-iterations: ~D~%" (-> this num-iterations))
|
|
(format #t "~1Tsecret-disable: ~D~%" (-> this secret-disable))
|
|
(format #t "~1Tparams: #<cloth-params @ #x~X>~%" (-> this params))
|
|
(label cfg-50)
|
|
this
|
|
)
|
|
|
|
;; definition of type cloth-on-skeleton
|
|
(deftype cloth-on-skeleton (cloth-system)
|
|
((base-transform-index int16)
|
|
(owner handle)
|
|
(last-owner-pos vector :inline)
|
|
(last-owner-mat matrix :inline)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type cloth-on-skeleton
|
|
(defmethod inspect ((this cloth-on-skeleton))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-50)
|
|
)
|
|
(format #t "[~8x] ~A~%" this (-> this type))
|
|
(format #t "~1Tparticles: ~A~%" (-> this particles))
|
|
(format #t "~1Tdrag: ~f~%" (-> this drag))
|
|
(format #t "~1Taccum-force: #<vector @ #x~X>~%" (-> this accum-force))
|
|
(format #t "~1Ttimestep-frequency: ~D~%" (-> this timestep-frequency))
|
|
(format #t "~1Tlast-simulate-remaining: ~D~%" (-> this last-simulate-remaining))
|
|
(format #t "~1Tmomentum: #<vector @ #x~X>~%" (-> this momentum))
|
|
(format #t "~1Tground-constraint: ~f~%" (-> this ground-constraint))
|
|
(format #t "~1Tdisc-collision-constraints: ~A~%" (-> this disc-collision-constraints))
|
|
(format #t "~1Tcollision-constraints: ~A~%" (-> this collision-constraints))
|
|
(format #t "~1Tstick-constraints: ~A~%" (-> this stick-constraints))
|
|
(format #t "~1Tanchor-points: ~A~%" (-> this anchor-points))
|
|
(format #t "~1Tconstraint-strengths[3] @ #x~X~%" (-> this constraint-strengths))
|
|
(format #t "~1Tnum-xy-constraints: ~D~%" (-> this num-xy-constraints))
|
|
(format #t "~1Tnum-diagonal-constraints: ~D~%" (-> this num-diagonal-constraints))
|
|
(format #t "~1Tcloth-width: ~D~%" (-> this cloth-width))
|
|
(format #t "~1Tcloth-height: ~D~%" (-> this cloth-height))
|
|
(format #t "~1Tstrip: ~A~%" (-> this strip))
|
|
(format #t "~1Tstrip2: ~A~%" (-> this strip2))
|
|
(format #t "~1Tstrip3: ~A~%" (-> this strip3))
|
|
(format #t "~1Tmesh: ~A~%" (-> this mesh))
|
|
(format #t "~1Tgravity-constant: ~f~%" (-> this gravity-constant))
|
|
(format #t "~1Twind-constant: ~f~%" (-> this wind-constant))
|
|
(format #t "~1Tflags: #x~X : (cloth-flag " (-> this flags))
|
|
(let ((s5-0 (-> this flags)))
|
|
(if (= (logand s5-0 (cloth-flag active)) (cloth-flag active))
|
|
(format #t "active ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag suppress-mesh-failure)) (cloth-flag suppress-mesh-failure))
|
|
(format #t "suppress-mesh-failure ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag need-setup)) (cloth-flag need-setup))
|
|
(format #t "need-setup ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag double-sided)) (cloth-flag double-sided))
|
|
(format #t "double-sided ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag flip-normals)) (cloth-flag flip-normals))
|
|
(format #t "flip-normals ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag use-global-wind)) (cloth-flag use-global-wind))
|
|
(format #t "use-global-wind ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag inited)) (cloth-flag inited))
|
|
(format #t "inited ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag use-wind)) (cloth-flag use-wind))
|
|
(format #t "use-wind ")
|
|
)
|
|
(if (= (logand (cloth-flag using-alt-tex) s5-0) (cloth-flag using-alt-tex))
|
|
(format #t "using-alt-tex ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag check-ground)) (cloth-flag check-ground))
|
|
(format #t "check-ground ")
|
|
)
|
|
(if (= (logand (cloth-flag use-old-resets) s5-0) (cloth-flag use-old-resets))
|
|
(format #t "use-old-resets ")
|
|
)
|
|
(if (= (logand (cloth-flag local-space) s5-0) (cloth-flag local-space))
|
|
(format #t "local-space ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag use-parent-momentum)) (cloth-flag use-parent-momentum))
|
|
(format #t "use-parent-momentum ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag wraps)) (cloth-flag wraps))
|
|
(format #t "wraps ")
|
|
)
|
|
(if (= (logand (cloth-flag local-space-xyz) s5-0) (cloth-flag local-space-xyz))
|
|
(format #t "local-space-xyz ")
|
|
)
|
|
(if (= (logand (cloth-flag riding) s5-0) (cloth-flag riding))
|
|
(format #t "riding ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag need-reset)) (cloth-flag need-reset))
|
|
(format #t "need-reset ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag use-momentum)) (cloth-flag use-momentum))
|
|
(format #t "use-momentum ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag no-draw)) (cloth-flag no-draw))
|
|
(format #t "no-draw ")
|
|
)
|
|
(if (= (logand (cloth-flag local-space-y) s5-0) (cloth-flag local-space-y))
|
|
(format #t "local-space-y ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag no-gravity)) (cloth-flag no-gravity))
|
|
(format #t "no-gravity ")
|
|
)
|
|
(if (= (logand s5-0 (cloth-flag autogen-uvs)) (cloth-flag autogen-uvs))
|
|
(format #t "autogen-uvs ")
|
|
)
|
|
(if (= (logand (cloth-flag hidden) s5-0) (cloth-flag hidden))
|
|
(format #t "hidden ")
|
|
)
|
|
)
|
|
(format #t ")~%")
|
|
(format #t "~1Tthickness-scalar: ~f~%" (-> this thickness-scalar))
|
|
(format #t "~1Tball-collision-radius: ~f~%" (-> this ball-collision-radius))
|
|
(format #t "~1Tface-normal-scalar: ~f~%" (-> this face-normal-scalar))
|
|
(format #t "~1Treset-count: ~D~%" (-> this reset-count))
|
|
(format #t "~1Tnum-iterations: ~D~%" (-> this num-iterations))
|
|
(format #t "~1Tsecret-disable: ~D~%" (-> this secret-disable))
|
|
(format #t "~1Tparams: #<cloth-params @ #x~X>~%" (-> this params))
|
|
(format #t "~1Tbase-transform-index: ~D~%" (-> this base-transform-index))
|
|
(format #t "~1Towner: ~D~%" (-> this owner))
|
|
(format #t "~1Tlast-owner-pos: #<vector @ #x~X>~%" (-> this last-owner-pos))
|
|
(format #t "~1Tlast-owner-mat: #<matrix @ #x~X>~%" (-> this last-owner-mat))
|
|
(label cfg-50)
|
|
this
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
0
|