mirror of
https://github.com/open-goal/jak-project
synced 2026-08-18 21:57:54 -04:00
[decompiler] Detect vector*! (#3846)
Detect use of `vector*!`, which is inlined in jak 2 and jak 3. --------- Co-authored-by: water111 <awaterford1111445@gmail.com>
This commit is contained in:
@@ -538,183 +538,123 @@
|
||||
)
|
||||
|
||||
(defun ragdoll-joint-callback ((arg0 cspace) (arg1 transformq) (arg2 process-drawable) (arg3 ragdoll-proc))
|
||||
(local-vars (sv-240 int) (sv-256 quaternion) (sv-272 vector) (sv-288 matrix))
|
||||
(rlet ((vf0 :class vf)
|
||||
(vf4 :class vf)
|
||||
(vf5 :class vf)
|
||||
(vf6 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(when *debug-segment*
|
||||
(let ((s2-0 (-> *display* frames (-> *display* on-screen) profile-array data 0))
|
||||
(v1-7 'ragdoll-callback)
|
||||
(s1-0 *color-white*)
|
||||
)
|
||||
(when (and *dproc* *debug-segment*)
|
||||
(let ((s0-0 (-> s2-0 data (-> s2-0 count))))
|
||||
(set! sv-240 (-> s2-0 base-time))
|
||||
(set! (-> s0-0 name) v1-7)
|
||||
(set! (-> s0-0 start-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint sv-240))))
|
||||
(set! (-> s0-0 depth) (the-as uint (-> s2-0 depth)))
|
||||
(set! (-> s0-0 color) s1-0)
|
||||
(set! (-> s2-0 segment (-> s2-0 depth)) s0-0)
|
||||
)
|
||||
(set! (-> s2-0 count) (min 1023 (+ (-> s2-0 count) 1)))
|
||||
(+! (-> s2-0 depth) 1)
|
||||
(set! (-> s2-0 max-depth) (max (-> s2-0 max-depth) (-> s2-0 depth)))
|
||||
(local-vars (a2-10 matrix) (sv-240 int) (sv-256 quaternion) (sv-272 vector) (sv-288 matrix))
|
||||
(when *debug-segment*
|
||||
(let ((s2-0 (-> *display* frames (-> *display* on-screen) profile-array data 0))
|
||||
(v1-7 'ragdoll-callback)
|
||||
(s1-0 *color-white*)
|
||||
)
|
||||
(when (and *dproc* *debug-segment*)
|
||||
(let ((s0-0 (-> s2-0 data (-> s2-0 count))))
|
||||
(set! sv-240 (-> s2-0 base-time))
|
||||
(set! (-> s0-0 name) v1-7)
|
||||
(set! (-> s0-0 start-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint sv-240))))
|
||||
(set! (-> s0-0 depth) (the-as uint (-> s2-0 depth)))
|
||||
(set! (-> s0-0 color) s1-0)
|
||||
(set! (-> s2-0 segment (-> s2-0 depth)) s0-0)
|
||||
)
|
||||
(set! (-> s2-0 count) (min 1023 (+ (-> s2-0 count) 1)))
|
||||
(+! (-> s2-0 depth) 1)
|
||||
(set! (-> s2-0 max-depth) (max (-> s2-0 max-depth) (-> s2-0 depth)))
|
||||
)
|
||||
0
|
||||
)
|
||||
(when arg3
|
||||
(let ((s3-1 (-> arg3 ragdoll)))
|
||||
(when (and s3-1
|
||||
(and (< 0.0 (-> s3-1 flex-blend)) (!= (-> s3-1 ragdoll-joint-remap (+ (-> arg0 joint number) 1)) 255))
|
||||
)
|
||||
(let ((s1-1 (-> s3-1 ragdoll-joints (-> s3-1 ragdoll-joint-remap (+ (-> arg0 joint number) 1)))))
|
||||
(when s1-1
|
||||
(if (and (-> s1-1 old-param0) (!= (-> s1-1 old-param0) ragdoll-other-joint-callback))
|
||||
((the-as (function cspace transformq none) (-> s1-1 old-param0)) arg0 arg1)
|
||||
(cspace<-parented-transformq-joint! arg0 arg1)
|
||||
)
|
||||
(let ((s2-1 (new 'stack-no-clear 'matrix)))
|
||||
(set! sv-256
|
||||
(quaternion-vector-angle! (new 'stack-no-clear 'quaternion) (-> s1-1 geo-tform) (-> s1-1 geo-tform w))
|
||||
)
|
||||
(quaternion-normalize! (quaternion*! sv-256 (-> s1-1 quat) sv-256))
|
||||
(quaternion->matrix s2-1 sv-256)
|
||||
(when (logtest? (-> s3-1 ragdoll-flags) (ragdoll-flag rf10))
|
||||
(let ((v1-40 (&+ s1-1 188)))
|
||||
(when (and (!= v1-40 (-> s3-1 ragdoll-joints (-> s3-1 num-joints))) (= (-> v1-40 parent-joint) -1))
|
||||
(let ((s0-3 (vector-! (new 'stack-no-clear 'vector) (-> v1-40 position) (-> s1-1 position))))
|
||||
(set! sv-272 (new 'stack-no-clear 'vector))
|
||||
(set! sv-288 (new 'stack-no-clear 'matrix))
|
||||
(vector-flatten! sv-272 s0-3 (-> s2-1 rvec))
|
||||
(vector-normalize! sv-272 1.0)
|
||||
(matrix-from-two-vectors! sv-288 (-> s2-1 uvec) sv-272)
|
||||
(matrix*! s2-1 s2-1 sv-288)
|
||||
(vector-flatten! sv-272 s0-3 (-> s2-1 fvec))
|
||||
)
|
||||
0
|
||||
)
|
||||
(when arg3
|
||||
(let ((s3-1 (-> arg3 ragdoll)))
|
||||
(when (and s3-1
|
||||
(and (< 0.0 (-> s3-1 flex-blend)) (!= (-> s3-1 ragdoll-joint-remap (+ (-> arg0 joint number) 1)) 255))
|
||||
)
|
||||
(let ((s1-1 (-> s3-1 ragdoll-joints (-> s3-1 ragdoll-joint-remap (+ (-> arg0 joint number) 1)))))
|
||||
(when s1-1
|
||||
(if (and (-> s1-1 old-param0) (!= (-> s1-1 old-param0) ragdoll-other-joint-callback))
|
||||
((the-as (function cspace transformq none) (-> s1-1 old-param0)) arg0 arg1)
|
||||
(cspace<-parented-transformq-joint! arg0 arg1)
|
||||
)
|
||||
(let ((s2-1 (new 'stack-no-clear 'matrix)))
|
||||
(set! sv-256
|
||||
(quaternion-vector-angle! (new 'stack-no-clear 'quaternion) (-> s1-1 geo-tform) (-> s1-1 geo-tform w))
|
||||
)
|
||||
(quaternion-normalize! (quaternion*! sv-256 (-> s1-1 quat) sv-256))
|
||||
(quaternion->matrix s2-1 sv-256)
|
||||
(when (logtest? (-> s3-1 ragdoll-flags) (ragdoll-flag rf10))
|
||||
(let ((v1-40 (&+ s1-1 188)))
|
||||
(when (and (!= v1-40 (-> s3-1 ragdoll-joints (-> s3-1 num-joints))) (= (-> v1-40 parent-joint) -1))
|
||||
(let ((s0-3 (vector-! (new 'stack-no-clear 'vector) (-> v1-40 position) (-> s1-1 position))))
|
||||
(set! sv-272 (new 'stack-no-clear 'vector))
|
||||
(set! sv-288 (new 'stack-no-clear 'matrix))
|
||||
(vector-flatten! sv-272 s0-3 (-> s2-1 rvec))
|
||||
(vector-normalize! sv-272 1.0)
|
||||
(matrix-from-two-vectors! sv-288 (-> s2-1 uvec) sv-272)
|
||||
(matrix*! s2-1 s2-1 sv-288)
|
||||
(vector-flatten! sv-272 s0-3 (-> s2-1 fvec))
|
||||
)
|
||||
(vector-normalize! sv-272 1.0)
|
||||
(matrix-from-two-vectors! sv-288 (-> s2-1 uvec) sv-272)
|
||||
(matrix*! s2-1 s2-1 sv-288)
|
||||
)
|
||||
)
|
||||
(set! (-> s2-1 trans quad) (-> s1-1 position quad))
|
||||
(set! (-> s2-1 trans w) 1.0)
|
||||
(if (logtest? (-> s3-1 ragdoll-flags) (ragdoll-flag mirror))
|
||||
(matrix*! s2-1 s2-1 (-> s3-1 mirror))
|
||||
)
|
||||
(cond
|
||||
((>= (-> s3-1 flex-blend) 1.0)
|
||||
(let ((a2-10 (-> arg0 bone transform))
|
||||
(v1-51 (-> s2-1 rvec quad))
|
||||
(a0-45 (-> s2-1 uvec quad))
|
||||
(a1-20 (-> s2-1 fvec quad))
|
||||
(a3-1 (-> s2-1 trans quad))
|
||||
)
|
||||
(set! (-> a2-10 rvec quad) v1-51)
|
||||
(set! (-> a2-10 uvec quad) a0-45)
|
||||
(set! (-> a2-10 fvec quad) a1-20)
|
||||
(set! (-> a2-10 trans quad) a3-1)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(let ((s1-3 (vector-lerp!
|
||||
(new 'stack-no-clear 'vector)
|
||||
(matrix->trans (-> arg0 bone transform) (new 'stack-no-clear 'vector))
|
||||
(-> s2-1 trans)
|
||||
(-> s3-1 flex-blend)
|
||||
)
|
||||
)
|
||||
)
|
||||
(vector-copy! (-> s2-1 trans) (-> s1-1 position))
|
||||
(set! (-> s2-1 trans w) 1.0)
|
||||
(if (logtest? (-> s3-1 ragdoll-flags) (ragdoll-flag mirror))
|
||||
(matrix*! s2-1 s2-1 (-> s3-1 mirror))
|
||||
)
|
||||
(set! a2-10
|
||||
(cond
|
||||
((>= (-> s3-1 flex-blend) 1.0)
|
||||
(matrix-copy! (-> arg0 bone transform) s2-1)
|
||||
)
|
||||
(else
|
||||
(let ((s1-3 (vector-lerp!
|
||||
(new 'stack-no-clear 'vector)
|
||||
(matrix->trans (-> arg0 bone transform) (new 'stack-no-clear 'vector))
|
||||
(-> s2-1 trans)
|
||||
(-> s3-1 flex-blend)
|
||||
)
|
||||
)
|
||||
)
|
||||
(ragdoll-matrix-interp (-> arg0 bone transform) (-> arg0 bone transform) s2-1 (-> s3-1 flex-blend))
|
||||
(vector-copy! (-> arg0 bone transform trans) s1-3)
|
||||
)
|
||||
(ragdoll-matrix-interp (-> arg0 bone transform) (-> arg0 bone transform) s2-1 (-> s3-1 flex-blend))
|
||||
(set! (-> arg0 bone transform trans quad) (-> s1-3 quad))
|
||||
(set! (-> arg0 bone transform trans w) 1.0)
|
||||
a2-10
|
||||
)
|
||||
)
|
||||
(set! (-> arg0 bone transform trans w) 1.0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-60 (new 'stack-no-clear 'vector)))
|
||||
(let ((a0-50 v1-60))
|
||||
(let ((a1-24 (-> s3-1 scale))
|
||||
(a2-14 (-> arg2 root scale))
|
||||
)
|
||||
(.lvf vf4 (&-> a1-24 quad))
|
||||
(.lvf vf5 (&-> a2-14 quad))
|
||||
)
|
||||
(.add.x.vf.w vf6 vf0 vf0)
|
||||
(.mul.vf.xyz vf6 vf4 vf5)
|
||||
(.svf (&-> a0-50 quad) vf6)
|
||||
)
|
||||
(let ((a1-25 v1-60))
|
||||
(let ((a0-51 v1-60)
|
||||
(a2-15 (-> arg1 scale))
|
||||
)
|
||||
(.lvf vf4 (&-> a0-51 quad))
|
||||
(.lvf vf5 (&-> a2-15 quad))
|
||||
)
|
||||
(.add.x.vf.w vf6 vf0 vf0)
|
||||
(.mul.vf.xyz vf6 vf4 vf5)
|
||||
(.svf (&-> a1-25 quad) vf6)
|
||||
)
|
||||
(let ((a0-53 (-> arg0 bone transform)))
|
||||
(let ((a1-27 (-> arg0 bone transform))
|
||||
(a2-16 v1-60)
|
||||
)
|
||||
(.lvf vf4 (&-> a1-27 rvec quad))
|
||||
(.lvf vf5 (&-> a2-16 quad))
|
||||
)
|
||||
(.add.x.vf.w vf6 vf0 vf0)
|
||||
(.mul.vf.xyz vf6 vf4 vf5)
|
||||
(.svf (&-> a0-53 rvec quad) vf6)
|
||||
)
|
||||
(let ((a0-55 (-> arg0 bone transform uvec)))
|
||||
(let ((a1-29 (-> arg0 bone transform uvec))
|
||||
(a2-17 v1-60)
|
||||
)
|
||||
(.lvf vf4 (&-> a1-29 quad))
|
||||
(.lvf vf5 (&-> a2-17 quad))
|
||||
)
|
||||
(.add.x.vf.w vf6 vf0 vf0)
|
||||
(.mul.vf.xyz vf6 vf4 vf5)
|
||||
(.svf (&-> a0-55 quad) vf6)
|
||||
)
|
||||
(let ((a0-57 (-> arg0 bone transform fvec)))
|
||||
(.lvf vf4 (&-> (-> arg0 bone transform fvec) quad))
|
||||
(.lvf vf5 (&-> v1-60 quad))
|
||||
(.add.x.vf.w vf6 vf0 vf0)
|
||||
(.mul.vf.xyz vf6 vf4 vf5)
|
||||
(.svf (&-> a0-57 quad) vf6)
|
||||
)
|
||||
)
|
||||
(set! (-> arg0 bone transform rvec w) 0.0)
|
||||
(set! (-> arg0 bone transform uvec w) 0.0)
|
||||
(set! (-> arg0 bone transform fvec w) 0.0)
|
||||
)
|
||||
(let ((v1-60 (new 'stack-no-clear 'vector)))
|
||||
(vector*! v1-60 (-> s3-1 scale) (-> arg2 root scale))
|
||||
(vector*! v1-60 v1-60 (-> arg1 scale))
|
||||
(vector*! (the-as vector (-> arg0 bone transform)) (the-as vector (-> arg0 bone transform)) v1-60)
|
||||
(vector*! (-> arg0 bone transform uvec) (-> arg0 bone transform uvec) v1-60)
|
||||
(vector*! (-> arg0 bone transform fvec) (-> arg0 bone transform fvec) v1-60)
|
||||
)
|
||||
(set! (-> arg0 bone transform rvec w) 0.0)
|
||||
(set! (-> arg0 bone transform uvec w) 0.0)
|
||||
(set! (-> arg0 bone transform fvec w) 0.0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when *debug-segment*
|
||||
(let ((gp-1 (-> *display* frames (-> *display* on-screen) profile-array data 0)))
|
||||
(when (and *dproc* *debug-segment*)
|
||||
(let* ((v1-75 (+ (-> gp-1 depth) -1))
|
||||
(s5-1 (-> gp-1 segment v1-75))
|
||||
(s4-1 (-> gp-1 base-time))
|
||||
)
|
||||
(when (>= v1-75 0)
|
||||
(set! (-> s5-1 end-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s4-1))))
|
||||
(+! (-> gp-1 depth) -1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
)
|
||||
(none)
|
||||
)
|
||||
(when *debug-segment*
|
||||
(let ((gp-1 (-> *display* frames (-> *display* on-screen) profile-array data 0)))
|
||||
(when (and *dproc* *debug-segment*)
|
||||
(let* ((v1-75 (+ (-> gp-1 depth) -1))
|
||||
(s5-1 (-> gp-1 segment v1-75))
|
||||
(s4-1 (-> gp-1 base-time))
|
||||
)
|
||||
(when (>= v1-75 0)
|
||||
(set! (-> s5-1 end-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s4-1))))
|
||||
(+! (-> gp-1 depth) -1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defbehavior ragdoll-other-joint-callback ragdoll-proc ((arg0 cspace) (arg1 transformq))
|
||||
@@ -863,7 +803,7 @@
|
||||
)
|
||||
(vector-! (-> s1-0 velocity) sv-144 (-> s1-0 position))
|
||||
(vector-float*! (-> s1-0 velocity) (-> s1-0 velocity) (/ 1.0 (-> pp clock time-adjust-ratio)))
|
||||
(set! (-> s1-0 position quad) (-> sv-144 quad))
|
||||
(vector-copy! (-> s1-0 position) sv-144)
|
||||
)
|
||||
(else
|
||||
(vector<-cspace! (-> s1-0 position) (-> arg0 node-list data (-> s1-0 joint-index)))
|
||||
@@ -891,7 +831,7 @@
|
||||
(vector<-cspace! s0-0 (-> arg0 node-list data (-> this ragdoll-joints (+ s2-1 -1) joint-index)))
|
||||
)
|
||||
(else
|
||||
(set! (-> s0-0 quad) (-> arg0 root trans quad))
|
||||
(vector-copy! s0-0 (-> arg0 root trans))
|
||||
)
|
||||
)
|
||||
(if (logtest? (-> this ragdoll-flags) (ragdoll-flag mirror))
|
||||
@@ -990,7 +930,7 @@
|
||||
(let ((s4-1 (new 'stack-no-clear 'matrix)))
|
||||
(matrix-axis-angle! s4-1 (-> this orient-tform) (- (-> this orient-tform w)))
|
||||
(matrix*! s4-1 s4-1 arg2)
|
||||
(set! (-> s4-1 trans quad) (-> arg2 trans quad))
|
||||
(vector-copy! (-> s4-1 trans) (-> arg2 trans))
|
||||
(add-debug-matrix #t (bucket-id debug-no-zbuf1) s4-1 (meters 2))
|
||||
)
|
||||
)
|
||||
@@ -1009,7 +949,7 @@
|
||||
(quaternion->matrix arg3 (-> s2-0 quat))
|
||||
(matrix-axis-angle! s3-0 (-> arg1 pre-tform) (- (-> arg1 pre-tform w)))
|
||||
(matrix*! arg3 s3-0 arg3)
|
||||
(set! (-> arg3 trans quad) (-> s2-0 position quad))
|
||||
(vector-copy! (-> arg3 trans) (-> s2-0 position))
|
||||
)
|
||||
(else
|
||||
(matrix-axis-angle! s3-0 (-> arg1 pre-tform) (- (-> arg1 pre-tform w)))
|
||||
@@ -1023,15 +963,15 @@
|
||||
(let ((s3-1 (new 'stack-no-clear 'matrix))
|
||||
(s5-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(set! (-> s5-1 quad) (-> arg3 trans quad))
|
||||
(vector-copy! s5-1 (-> arg3 trans))
|
||||
(matrix-axis-angle! s3-1 (-> arg1 pre-tform) (- (-> arg1 pre-tform w)))
|
||||
(matrix*! arg3 s3-1 arg3)
|
||||
(set! (-> arg3 trans quad) (-> s5-1 quad))
|
||||
(vector-copy! (-> arg3 trans) s5-1)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(quaternion->matrix arg3 (-> arg0 root quat))
|
||||
(set! (-> arg3 trans quad) (-> arg0 root trans quad))
|
||||
(vector-copy! (-> arg3 trans) (-> arg0 root trans))
|
||||
)
|
||||
)
|
||||
0
|
||||
@@ -1344,7 +1284,7 @@
|
||||
(.svf (&-> v1-176 quad) vf1)
|
||||
)
|
||||
)
|
||||
(set! (-> s0-1 position quad) (-> sv-560 quad))
|
||||
(vector-copy! (-> s0-1 position) sv-560)
|
||||
(cond
|
||||
((or (> s1-1 0) (!= (-> s0-1 parent-joint) -1))
|
||||
(vector-! (-> s3-1 uvec) sv-560 (-> s2-1 trans))
|
||||
@@ -1392,11 +1332,11 @@
|
||||
(.mul.x.vf acc vf2 vf3)
|
||||
(.add.mul.w.vf.xyz vf4 vf1 vf0 acc)
|
||||
(.svf (&-> sv-544 quad) vf4)
|
||||
(set! (-> s0-1 old-x quad) (-> s3-1 rvec quad))
|
||||
(vector-copy! (-> s0-1 old-x) (-> s3-1 rvec))
|
||||
)
|
||||
(else
|
||||
(set! (-> s3-1 rvec quad) (-> sv-528 quad))
|
||||
(set! (-> s0-1 old-x quad) (-> s3-1 rvec quad))
|
||||
(vector-copy! (-> s3-1 rvec) sv-528)
|
||||
(vector-copy! (-> s0-1 old-x) (-> s3-1 rvec))
|
||||
)
|
||||
)
|
||||
(vector-cross! (-> s3-1 fvec) (-> s3-1 rvec) (-> s3-1 uvec))
|
||||
@@ -1411,27 +1351,16 @@
|
||||
(quaternion->matrix s3-1 (-> s0-1 quat))
|
||||
)
|
||||
)
|
||||
(set! (-> s3-1 trans quad) (-> sv-560 quad))
|
||||
(vector-copy! (-> s3-1 trans) sv-560)
|
||||
(set! (-> s3-1 rvec w) 0.0)
|
||||
(set! (-> s3-1 uvec w) 0.0)
|
||||
(set! (-> s3-1 fvec w) 0.0)
|
||||
(if (and (zero? s1-1) (< (-> s0-1 parent-joint) 0) (logtest? (-> this ragdoll-flags) (ragdoll-flag rf7)))
|
||||
(set! (-> arg0 root trans quad) (-> s3-1 trans quad))
|
||||
(vector-copy! (-> arg0 root trans) (-> s3-1 trans))
|
||||
)
|
||||
(ragdoll-method-13 this arg1 s0-1 s3-1 s2-1)
|
||||
)
|
||||
(let* ((a2-19 s2-1)
|
||||
(a3-10 s3-1)
|
||||
(v1-216 (-> a3-10 rvec quad))
|
||||
(a0-119 (-> a3-10 uvec quad))
|
||||
(a1-47 (-> a3-10 fvec quad))
|
||||
(a3-11 (-> a3-10 trans quad))
|
||||
)
|
||||
(set! (-> a2-19 rvec quad) v1-216)
|
||||
(set! (-> a2-19 uvec quad) a0-119)
|
||||
(set! (-> a2-19 fvec quad) a1-47)
|
||||
(set! (-> a2-19 trans quad) a3-11)
|
||||
)
|
||||
(matrix-copy! s2-1 s3-1)
|
||||
)
|
||||
)
|
||||
(if (and (< (min (the-as int (-> this num-joints)) (max 2 (the int (* 0.9 (the float (-> this num-joints))))))
|
||||
@@ -1479,8 +1408,8 @@
|
||||
(set! (-> s2-0 joint-type) (-> v1-15 joint-type))
|
||||
(set! (-> s2-0 joint-index) (-> v1-15 joint-index))
|
||||
(set! (-> s2-0 parent-joint) (-> v1-15 parent-joint))
|
||||
(set! (-> s2-0 pre-tform quad) (-> v1-15 pre-tform quad))
|
||||
(set! (-> s2-0 geo-tform quad) (-> v1-15 geo-tform quad))
|
||||
(vector-copy! (-> s2-0 pre-tform) (-> v1-15 pre-tform))
|
||||
(vector-copy! (-> s2-0 geo-tform) (-> v1-15 geo-tform))
|
||||
(set! (-> s2-0 axial-slop) (-> v1-15 axial-slop))
|
||||
(set! (-> s2-0 max-angle) (-> v1-15 max-angle))
|
||||
(set! (-> s2-0 coll-rad) (-> v1-15 coll-rad))
|
||||
@@ -1509,11 +1438,11 @@
|
||||
)
|
||||
0
|
||||
)
|
||||
(set! (-> this orient-tform quad) (-> setup orient-tform quad))
|
||||
(set! (-> this scale quad) (-> setup scale quad))
|
||||
(vector-copy! (-> this orient-tform) (-> setup orient-tform))
|
||||
(vector-copy! (-> this scale) (-> setup scale))
|
||||
(set! (-> this bg-collide-with) (the-as uint (-> setup bg-collide-with)))
|
||||
(set-vector! (-> this gravity) 0.0 -1.0 0.0 1.0)
|
||||
(set! (-> this gravity-target quad) (-> this gravity quad))
|
||||
(vector-copy! (-> this gravity-target) (-> this gravity))
|
||||
(set! (-> this stretch-vel) 0.7)
|
||||
(set! (-> this stretch-vel-parallel) 0.8)
|
||||
(set! (-> this compress-vel) 0.85)
|
||||
@@ -1584,7 +1513,7 @@
|
||||
)
|
||||
)
|
||||
((= proc *target*)
|
||||
(set! (-> s4-0 quad) (-> (the-as process-drawable proc) root trans quad))
|
||||
(vector-copy! s4-0 (-> (the-as process-drawable proc) root trans))
|
||||
(vector-! s5-0 (-> s2-0 root trans) (-> (the-as process-drawable proc) root trans))
|
||||
(set! s3-0 #t)
|
||||
)
|
||||
@@ -1600,12 +1529,12 @@
|
||||
(the-as touching-shapes-entry a3-1)
|
||||
)
|
||||
)
|
||||
(set! (-> s4-0 quad) (-> s5-0 quad))
|
||||
(vector-copy! s4-0 s5-0)
|
||||
(vector-! s5-0 (-> s2-0 root trans) s5-0)
|
||||
(set! s3-0 #t)
|
||||
)
|
||||
(when (logtest? (attack-mask attacker-velocity) (-> (the-as attack-info gp-0) mask))
|
||||
(set! (-> s5-0 quad) (-> (the-as attack-info gp-0) attacker-velocity quad))
|
||||
(vector-copy! s5-0 (-> (the-as attack-info gp-0) attacker-velocity))
|
||||
(when (not s3-0)
|
||||
(vector-! s4-0 (-> self ragdoll ragdoll-joints 0 position) s5-0)
|
||||
(set! s3-0 #t)
|
||||
@@ -1620,7 +1549,7 @@
|
||||
(set! (-> s5-0 y) 0.0)
|
||||
(vector-normalize! s5-0 409.6)
|
||||
(+! (-> s5-0 y) 1024.0)
|
||||
(set! (-> self ragdoll ragdoll-joints 0 velocity quad) (-> s5-0 quad))
|
||||
(vector-copy! (-> self ragdoll ragdoll-joints 0 velocity) s5-0)
|
||||
(if (logtest? (-> (the-as attack-info gp-0) mask) (attack-mask id))
|
||||
(set! (-> self last-attack-id) (-> (the-as attack-info gp-0) id))
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user