mirror of
https://github.com/open-goal/jak-project
synced 2026-09-09 20:21:28 -04:00
[decompiler] new features + fixes, + other jak2 fixes (#2796)
Fixes empty boxed arrays of strings breaking some decomp (`ctywide-speech` and `race-info`). Adds `decomp-as` tag to decompiler types so that the static data decompiler can use macros like `meters` and `seconds` on fields that aren't of type `meters` or `time-frame`. Adds `override` tag to decompiler types which overrides the type of field with that name. The type must be a child type of the original field's type (or the same type, but why would you do this?). Fixes the camera being offset for `drillmtn` after loading `palout` once. This is a huge refactor sadly.
This commit is contained in:
+9
-9
@@ -300,7 +300,7 @@
|
||||
(vf7 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(let* ((v1-1 (-> obj root-override trans))
|
||||
(let* ((v1-1 (-> obj root trans))
|
||||
(a1-0 (-> obj tail-pos))
|
||||
(s5-1 (vector-! (new 'stack-no-clear 'vector) v1-1 a1-0))
|
||||
(gp-0 (new 'stack-no-clear 'vector))
|
||||
@@ -384,7 +384,7 @@
|
||||
(t2-0 #f)
|
||||
(t3-0 *launch-matrix*)
|
||||
)
|
||||
(set! (-> t3-0 trans quad) (-> obj root-override trans quad))
|
||||
(set! (-> t3-0 trans quad) (-> obj root trans quad))
|
||||
((the-as (function object object object object object object object object none) t9-2)
|
||||
a0-3
|
||||
a1-2
|
||||
@@ -424,7 +424,7 @@
|
||||
;; definition for method 38 of type ashelin-shot
|
||||
(defmethod made-impact? ashelin-shot ((obj ashelin-shot))
|
||||
"TODO - queries the collision cache, return true/false"
|
||||
(let ((v1-0 (-> obj root-override))
|
||||
(let ((v1-0 (-> obj root))
|
||||
(t1-0 (new 'stack-no-clear 'collide-query))
|
||||
)
|
||||
(let ((a1-0 t1-0))
|
||||
@@ -444,7 +444,7 @@
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun ashelin-shot-move ((arg0 ashelin-shot))
|
||||
(projectile-move-fill-line-sphere arg0)
|
||||
(let ((s5-0 (-> arg0 root-override)))
|
||||
(let ((s5-0 (-> arg0 root)))
|
||||
(let ((s4-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans))
|
||||
(let ((f0-0 (vector-length s4-0)))
|
||||
@@ -460,7 +460,7 @@
|
||||
)
|
||||
(set! (-> a1-5 quad) (-> s5-0 trans quad))
|
||||
(vector+! a1-5 a1-5 v1-9)
|
||||
(move-to-point! (-> arg0 root-override) a1-5)
|
||||
(move-to-point! (-> arg0 root) a1-5)
|
||||
)
|
||||
(go (the-as (state ashelin) (method-of-object arg0 impact)))
|
||||
)
|
||||
@@ -514,9 +514,9 @@
|
||||
)
|
||||
(set! (-> s5-0 max-iteration-count) (the-as uint 1))
|
||||
(set! (-> s5-0 event-self) 'touched)
|
||||
(set! (-> obj root-override) s5-0)
|
||||
(set! (-> obj root) s5-0)
|
||||
)
|
||||
(set! (-> obj root-override pat-ignore-mask)
|
||||
(set! (-> obj root pat-ignore-mask)
|
||||
(new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1)
|
||||
)
|
||||
(let ((v1-23 (-> obj parent)))
|
||||
@@ -529,7 +529,7 @@
|
||||
(bot-flags attacked)
|
||||
)
|
||||
)
|
||||
(let* ((a0-17 (-> obj root-override))
|
||||
(let* ((a0-17 (-> obj root))
|
||||
(v1-27 (-> a0-17 root-prim))
|
||||
)
|
||||
(countdown (a0-18 (-> a0-17 total-prims))
|
||||
@@ -547,7 +547,7 @@
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod init-proj-settings! ashelin-shot ((obj ashelin-shot))
|
||||
"Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc"
|
||||
(set! (-> obj tail-pos quad) (-> obj root-override trans quad))
|
||||
(set! (-> obj tail-pos quad) (-> obj root trans quad))
|
||||
(set! (-> obj attack-mode) 'eco-yellow)
|
||||
(set! (-> obj max-speed) 307200.0)
|
||||
(set! (-> obj move) ashelin-shot-move)
|
||||
|
||||
+26
-26
@@ -320,11 +320,11 @@
|
||||
(cond
|
||||
((< f0-6 f28-0)
|
||||
(if (>= f0-6 f30-0)
|
||||
(quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-1 (/ (- f0-6 f30-0) (- f28-0 f30-0)))
|
||||
(quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-1 (/ (- f0-6 f30-0) (- f28-0 f30-0)))
|
||||
)
|
||||
)
|
||||
(else
|
||||
(quaternion-copy! (-> self root-override2 quat) s5-1)
|
||||
(quaternion-copy! (-> self root quat) s5-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -351,7 +351,7 @@
|
||||
(set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags))))
|
||||
)
|
||||
(set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags))))
|
||||
(set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info))
|
||||
(set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info))
|
||||
)
|
||||
0
|
||||
(let ((v1-5 self))
|
||||
@@ -565,8 +565,8 @@
|
||||
)
|
||||
(let ((gp-0 (-> self nav)))
|
||||
(set! (-> gp-0 target-speed) (lerp-scale
|
||||
(-> self enemy-info-override walk-travel-speed)
|
||||
(-> self enemy-info-override run-travel-speed)
|
||||
(-> self enemy-info walk-travel-speed)
|
||||
(-> self enemy-info run-travel-speed)
|
||||
(-> self focus-info bullseye-xz-dist)
|
||||
81920.0
|
||||
92160.0
|
||||
@@ -628,18 +628,18 @@
|
||||
)
|
||||
:code (behavior ()
|
||||
(ja-channel-push! 1 (seconds 0.2))
|
||||
(let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (-> self move-dest))))
|
||||
(let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (-> self move-dest))))
|
||||
(let ((s5-0 (new 'stack-no-clear 'quaternion))
|
||||
(s4-0 (new 'stack-no-clear 'quaternion))
|
||||
)
|
||||
(quaternion-copy! s5-0 (-> self root-override2 quat))
|
||||
(quaternion-copy! s5-0 (-> self root quat))
|
||||
(quaternion<-rotate-y-vector s4-0 gp-1)
|
||||
(ja-no-eval :group! (-> self draw art-group data 33)
|
||||
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 33)) frames num-frames) -1)))
|
||||
:frame-num 0.0
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(quaternion-slerp! (-> self root-override2 quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0))))
|
||||
(quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0))))
|
||||
(suspend)
|
||||
(ja :num! (seek!))
|
||||
)
|
||||
@@ -652,7 +652,7 @@
|
||||
(set! (-> self attack-id) a0-11)
|
||||
)
|
||||
(countdown (s5-1 2)
|
||||
(vector-! gp-1 (-> self move-dest) (-> self root-override2 trans))
|
||||
(vector-! gp-1 (-> self move-dest) (-> self root trans))
|
||||
(let ((a0-14 (-> self nav state))
|
||||
(v1-33 gp-1)
|
||||
)
|
||||
@@ -672,7 +672,7 @@
|
||||
(set! (-> v1-40 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-40 enemy-flags))))
|
||||
)
|
||||
(set! (-> v1-40 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-40 enemy-flags))))
|
||||
(set! (-> v1-40 nav callback-info) (-> v1-40 enemy-info-override callback-info))
|
||||
(set! (-> v1-40 nav callback-info) (-> v1-40 enemy-info callback-info))
|
||||
)
|
||||
0
|
||||
(let ((f0-13 (* 1.6153771 (vector-length gp-1))))
|
||||
@@ -694,8 +694,8 @@
|
||||
(set! (-> gp-1 y) 0.0)
|
||||
(vector-normalize! gp-1 1.0)
|
||||
(vector-negate! gp-1 gp-1)
|
||||
(quaternion-set! (-> self root-override2 quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z)))
|
||||
(quaternion-normalize! (-> self root-override2 quat))
|
||||
(quaternion-set! (-> self root quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z)))
|
||||
(quaternion-normalize! (-> self root quat))
|
||||
(suspend)
|
||||
(ja :num! (seek! max 1.4))
|
||||
)
|
||||
@@ -771,11 +771,11 @@
|
||||
)
|
||||
:code (behavior ()
|
||||
(ja-channel-push! 1 (seconds 0.2))
|
||||
(let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-dest) (-> self root-override2 trans))))
|
||||
(let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-dest) (-> self root trans))))
|
||||
(let ((s5-0 (new 'stack-no-clear 'quaternion))
|
||||
(s4-0 (new 'stack-no-clear 'quaternion))
|
||||
)
|
||||
(quaternion-copy! s5-0 (-> self root-override2 quat))
|
||||
(quaternion-copy! s5-0 (-> self root quat))
|
||||
(quaternion<-rotate-y-vector s4-0 gp-1)
|
||||
(quaternion-rotate-y! s4-0 s4-0 -16384.0)
|
||||
(ja-no-eval :group! (-> self draw art-group data 36)
|
||||
@@ -783,7 +783,7 @@
|
||||
:frame-num 0.0
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(quaternion-slerp! (-> self root-override2 quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0))))
|
||||
(quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0))))
|
||||
(suspend)
|
||||
(ja :num! (seek!))
|
||||
)
|
||||
@@ -814,7 +814,7 @@
|
||||
(set! (-> v1-38 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-38 enemy-flags))))
|
||||
)
|
||||
(set! (-> v1-38 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-38 enemy-flags))))
|
||||
(set! (-> v1-38 nav callback-info) (-> v1-38 enemy-info-override callback-info))
|
||||
(set! (-> v1-38 nav callback-info) (-> v1-38 enemy-info callback-info))
|
||||
)
|
||||
0
|
||||
(let ((f0-13 (* 1.0714335 (vector-length gp-1))))
|
||||
@@ -836,8 +836,8 @@
|
||||
(set! (-> gp-1 y) 0.0)
|
||||
(vector-normalize! gp-1 1.0)
|
||||
(vector-rotate-around-y! gp-1 gp-1 -16384.0)
|
||||
(quaternion-set! (-> self root-override2 quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z)))
|
||||
(quaternion-normalize! (-> self root-override2 quat))
|
||||
(quaternion-set! (-> self root quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z)))
|
||||
(quaternion-normalize! (-> self root quat))
|
||||
(suspend)
|
||||
(ja :num! (seek!))
|
||||
)
|
||||
@@ -907,11 +907,11 @@
|
||||
)
|
||||
:code (behavior ()
|
||||
(ja-channel-push! 1 (seconds 0.2))
|
||||
(let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-dest) (-> self root-override2 trans))))
|
||||
(let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-dest) (-> self root trans))))
|
||||
(let ((s5-0 (new 'stack-no-clear 'quaternion))
|
||||
(s4-0 (new 'stack-no-clear 'quaternion))
|
||||
)
|
||||
(quaternion-copy! s5-0 (-> self root-override2 quat))
|
||||
(quaternion-copy! s5-0 (-> self root quat))
|
||||
(quaternion<-rotate-y-vector s4-0 gp-1)
|
||||
(quaternion-rotate-y! s4-0 s4-0 16384.0)
|
||||
(ja-no-eval :group! (-> self draw art-group data 39)
|
||||
@@ -919,7 +919,7 @@
|
||||
:frame-num 0.0
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(quaternion-slerp! (-> self root-override2 quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0))))
|
||||
(quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0))))
|
||||
(suspend)
|
||||
(ja :num! (seek!))
|
||||
)
|
||||
@@ -950,7 +950,7 @@
|
||||
(set! (-> v1-38 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-38 enemy-flags))))
|
||||
)
|
||||
(set! (-> v1-38 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-38 enemy-flags))))
|
||||
(set! (-> v1-38 nav callback-info) (-> v1-38 enemy-info-override callback-info))
|
||||
(set! (-> v1-38 nav callback-info) (-> v1-38 enemy-info callback-info))
|
||||
)
|
||||
0
|
||||
(let ((f0-13 (* 1.8749386 (vector-length gp-1))))
|
||||
@@ -972,8 +972,8 @@
|
||||
(set! (-> gp-1 y) 0.0)
|
||||
(vector-normalize! gp-1 1.0)
|
||||
(vector-rotate-around-y! gp-1 gp-1 16384.0)
|
||||
(quaternion-set! (-> self root-override2 quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z)))
|
||||
(quaternion-normalize! (-> self root-override2 quat))
|
||||
(quaternion-set! (-> self root quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z)))
|
||||
(quaternion-normalize! (-> self root quat))
|
||||
(suspend)
|
||||
(ja :num! (seek!))
|
||||
)
|
||||
@@ -1130,8 +1130,8 @@
|
||||
(else
|
||||
(ja-channel-push! 1 (seconds 0.1))
|
||||
(let ((gp-0 (-> self draw art-group data (if (enemy-method-133 self)
|
||||
(-> self enemy-info-override die-falling-anim)
|
||||
(-> self enemy-info-override die-anim)
|
||||
(-> self enemy-info die-falling-anim)
|
||||
(-> self enemy-info die-anim)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
+29
-38
@@ -218,7 +218,7 @@
|
||||
:walk-travel-speed (meters 3)
|
||||
:walk-acceleration (meters 5)
|
||||
:walk-turning-acceleration (meters 6)
|
||||
:maximum-rotation-rate (degrees 360.0)
|
||||
:maximum-rotation-rate (degrees 360)
|
||||
:notice-nav-radius (meters 20)
|
||||
:frustration-distance (meters 8)
|
||||
:frustration-time (seconds 4)
|
||||
@@ -253,7 +253,7 @@
|
||||
(set! (-> obj bot-flags) (logior (bot-flags bf22) (-> obj bot-flags)))
|
||||
(logclear! (-> obj bot-flags) (bot-flags bf22))
|
||||
)
|
||||
(set! (-> obj root-override2 penetrated-by) (get-penetrate-info obj))
|
||||
(set! (-> obj root penetrated-by) (get-penetrate-info obj))
|
||||
(none)
|
||||
)
|
||||
|
||||
@@ -461,7 +461,7 @@
|
||||
)
|
||||
(set! (-> s5-0 max-iteration-count) (the-as uint 3))
|
||||
(set! (-> s5-0 event-priority) (the-as uint 7))
|
||||
(set! (-> obj root-override2) s5-0)
|
||||
(set! (-> obj root) s5-0)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
@@ -536,19 +536,19 @@
|
||||
(when (>= 16384.0 (fabs f30-0))
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector)))
|
||||
(when (ashelin-method-236 obj s5-0 (+ 32768.0 arg0) 8192.0 40707.93 34563.93)
|
||||
(vector+! (-> obj move-dest) s5-0 (-> obj root-override2 trans))
|
||||
(vector+! (-> obj move-dest) s5-0 (-> obj root trans))
|
||||
(return 1)
|
||||
)
|
||||
(cond
|
||||
((< 0.0 f30-0)
|
||||
(when (ashelin-method-236 obj s5-0 (+ -16384.0 arg0) 8192.0 40707.93 34563.93)
|
||||
(vector+! (-> obj move-dest) s5-0 (-> obj root-override2 trans))
|
||||
(vector+! (-> obj move-dest) s5-0 (-> obj root trans))
|
||||
(return 2)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(when (ashelin-method-236 obj s5-0 (+ 16384.0 arg0) 8192.0 40707.93 34563.93)
|
||||
(vector+! (-> obj move-dest) s5-0 (-> obj root-override2 trans))
|
||||
(vector+! (-> obj move-dest) s5-0 (-> obj root trans))
|
||||
(return 3)
|
||||
)
|
||||
)
|
||||
@@ -567,8 +567,8 @@
|
||||
)
|
||||
)
|
||||
(when (logtest? (bot-flags bf20) (-> obj bot-flags))
|
||||
(set! (-> obj root-override2 trans w) 1.0)
|
||||
(when (>= (vector4-dot (the-as vector (-> obj frontline)) (-> obj root-override2 trans)) 12288.0)
|
||||
(set! (-> obj root trans w) 1.0)
|
||||
(when (>= (vector4-dot (the-as vector (-> obj frontline)) (-> obj root trans)) 12288.0)
|
||||
(let ((f0-7 (atan (-> obj frontline x) (-> obj frontline z))))
|
||||
(return (ashelin-method-243 obj f0-7))
|
||||
)
|
||||
@@ -580,7 +580,7 @@
|
||||
;; definition for method 241 of type ashelin
|
||||
(defmethod ashelin-method-241 ashelin ((obj ashelin))
|
||||
(let* ((v1-0 (target-pos 0))
|
||||
(a1-0 (-> obj root-override2 trans))
|
||||
(a1-0 (-> obj root trans))
|
||||
(f30-0 (atan (- (-> a1-0 x) (-> v1-0 x)) (- (-> a1-0 z) (-> v1-0 z))))
|
||||
(f0-5 (deg- f30-0 (-> obj focus-info my-facing-ry)))
|
||||
(s5-0 0)
|
||||
@@ -594,14 +594,14 @@
|
||||
(cond
|
||||
(s3-1
|
||||
(when (ashelin-method-236 obj s4-0 (+ 16384.0 f30-0) 8192.0 40707.93 34563.93)
|
||||
(vector+! (-> obj move-dest) s4-0 (-> obj root-override2 trans))
|
||||
(vector+! (-> obj move-dest) s4-0 (-> obj root trans))
|
||||
(set! s5-0 3)
|
||||
(goto cfg-20)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(when (ashelin-method-236 obj s4-0 (+ -16384.0 f30-0) 8192.0 40707.93 34563.93)
|
||||
(vector+! (-> obj move-dest) s4-0 (-> obj root-override2 trans))
|
||||
(vector+! (-> obj move-dest) s4-0 (-> obj root trans))
|
||||
(set! s5-0 2)
|
||||
(goto cfg-20)
|
||||
)
|
||||
@@ -615,7 +615,7 @@
|
||||
(else
|
||||
(let ((s4-1 (new 'stack-no-clear 'vector)))
|
||||
(when (ashelin-method-236 obj s4-1 (+ 32768.0 f30-0) 8192.0 40707.93 34563.93)
|
||||
(vector+! (-> obj move-dest) s4-1 (-> obj root-override2 trans))
|
||||
(vector+! (-> obj move-dest) s4-1 (-> obj root trans))
|
||||
(set! s5-0 1)
|
||||
)
|
||||
)
|
||||
@@ -633,7 +633,7 @@
|
||||
(when (>= 16384.0 (fabs (-> obj focus-info ry-diff)))
|
||||
(let ((s4-0 (new 'stack-no-clear 'vector)))
|
||||
(when (ashelin-method-236 obj s4-0 (+ 16384.0 (-> obj focus-info bullseye-ry)) 8192.0 40707.93 34563.93)
|
||||
(vector+! (-> obj move-dest) s4-0 (-> obj root-override2 trans))
|
||||
(vector+! (-> obj move-dest) s4-0 (-> obj root trans))
|
||||
(set! s5-0 3)
|
||||
)
|
||||
)
|
||||
@@ -643,7 +643,7 @@
|
||||
(when (>= 16384.0 (fabs (-> obj focus-info ry-diff)))
|
||||
(let ((s4-1 (new 'stack-no-clear 'vector)))
|
||||
(when (ashelin-method-236 obj s4-1 (+ -16384.0 (-> obj focus-info bullseye-ry)) 8192.0 40707.93 34563.93)
|
||||
(vector+! (-> obj move-dest) s4-1 (-> obj root-override2 trans))
|
||||
(vector+! (-> obj move-dest) s4-1 (-> obj root trans))
|
||||
(set! s5-0 2)
|
||||
)
|
||||
)
|
||||
@@ -676,16 +676,16 @@
|
||||
(defmethod ashelin-method-247 ashelin ((obj ashelin))
|
||||
(cond
|
||||
((logtest? (bot-flags bf20) (-> obj bot-flags))
|
||||
(set! (-> obj root-override2 trans w) 1.0)
|
||||
(set! (-> obj root trans w) 1.0)
|
||||
(set! (-> obj focus-info bullseye w) 1.0)
|
||||
(let ((f30-0 (vector4-dot (the-as vector (-> obj frontline)) (-> obj root-override2 trans))))
|
||||
(let ((f30-0 (vector4-dot (the-as vector (-> obj frontline)) (-> obj root trans))))
|
||||
(let ((f0-4 (vector4-dot (the-as vector (-> obj frontline)) (-> obj focus-info bullseye))))
|
||||
(if (or (>= 0.0 f0-4) (>= -8192.0 f30-0))
|
||||
(return #t)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-! s5-0 (-> obj focus-info bullseye) (-> obj root-override2 trans))
|
||||
(vector-! s5-0 (-> obj focus-info bullseye) (-> obj root trans))
|
||||
(set! (-> s5-0 y) 0.0)
|
||||
(vector-normalize! s5-0 1.0)
|
||||
(if (>= -0.342 (vector-dot s5-0 (the-as vector (-> obj frontline))))
|
||||
@@ -698,7 +698,7 @@
|
||||
(a0-8 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(vector-float*! a2-0 (the-as vector (-> obj frontline)) (- (-> obj frontline w)))
|
||||
(set! (-> a0-8 quad) (-> obj root-override2 trans quad))
|
||||
(set! (-> a0-8 quad) (-> obj root trans quad))
|
||||
(set! (-> a0-8 y) 0.0)
|
||||
(>= (intersect-ray-plane a0-8 s5-0 a2-0 (-> obj frontline)) 8192.0)
|
||||
)
|
||||
@@ -714,14 +714,14 @@
|
||||
;; definition for method 248 of type ashelin
|
||||
(defmethod ashelin-method-248 ashelin ((obj ashelin))
|
||||
(when (logtest? (bot-flags bf20) (-> obj bot-flags))
|
||||
(set! (-> obj root-override2 trans w) 1.0)
|
||||
(set! (-> obj root trans w) 1.0)
|
||||
(set! (-> obj focus-info bullseye w) 1.0)
|
||||
(let ((f0-3 (vector4-dot (the-as vector (-> obj frontline)) (-> obj root-override2 trans)))
|
||||
(let ((f0-3 (vector4-dot (the-as vector (-> obj frontline)) (-> obj root trans)))
|
||||
(f1-1 (vector4-dot (the-as vector (-> obj frontline)) (-> obj focus-info bullseye)))
|
||||
)
|
||||
(when (and (< 0.0 f1-1) (< 0.0 f0-3))
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-! s5-0 (-> obj focus-info bullseye) (-> obj root-override2 trans))
|
||||
(vector-! s5-0 (-> obj focus-info bullseye) (-> obj root trans))
|
||||
(set! (-> s5-0 y) 0.0)
|
||||
(vector-normalize! s5-0 1.0)
|
||||
(>= (vector-dot s5-0 (the-as vector (-> obj frontline))) 0.0)
|
||||
@@ -875,7 +875,7 @@
|
||||
)
|
||||
)
|
||||
(let* ((f28-1 (current-cycle-distance (-> obj skel)))
|
||||
(f0-8 (quaternion-y-angle (-> obj root-override2 quat)))
|
||||
(f0-8 (quaternion-y-angle (-> obj root quat)))
|
||||
(f1-10 (deg- f0-8 (-> obj travel-prev-ry)))
|
||||
(f0-11 (fmin 40960.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-10))))
|
||||
(f0-14 (/ (* 16.0 (fmax f30-0 f0-11)) (* 15.0 f28-1)))
|
||||
@@ -939,18 +939,15 @@
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod enemy-method-51 ashelin ((obj ashelin))
|
||||
(local-vars (v1-36 art-element))
|
||||
(let ((f28-0 (quaternion-y-angle (-> obj root-override2 quat))))
|
||||
(let ((f28-0 (quaternion-y-angle (-> obj root quat))))
|
||||
(case (-> obj incoming knocked-type)
|
||||
(((knocked-type knocked-type-6))
|
||||
(let ((a0-4 (handle->process (-> obj focus handle))))
|
||||
(when a0-4
|
||||
(get-trans (the-as process-focusable a0-4) 0)
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> s5-0 quad) (-> obj root-override2 transv quad))
|
||||
(if (< (vector-dot
|
||||
(-> obj root-override2 transv)
|
||||
(vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))
|
||||
)
|
||||
(set! (-> s5-0 quad) (-> obj root transv quad))
|
||||
(if (< (vector-dot (-> obj root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))
|
||||
0.0
|
||||
)
|
||||
(vector-negate-in-place! s5-0)
|
||||
@@ -964,7 +961,7 @@
|
||||
(let ((s5-1 (new 'stack-no-clear 'vector)))
|
||||
0.0
|
||||
0.0
|
||||
(vector-z-quaternion! s5-1 (-> obj root-override2 quat))
|
||||
(vector-z-quaternion! s5-1 (-> obj root quat))
|
||||
(let ((f28-1 (atan (-> s5-1 x) (-> s5-1 z))))
|
||||
(enemy-method-50 obj s5-1)
|
||||
(let* ((f30-0 (atan (-> s5-1 x) (-> s5-1 z)))
|
||||
@@ -1011,7 +1008,7 @@
|
||||
)
|
||||
0.0
|
||||
0.0
|
||||
(vector-z-quaternion! s4-0 (-> obj root-override2 quat))
|
||||
(vector-z-quaternion! s4-0 (-> obj root quat))
|
||||
(let ((f30-0 (atan (-> s4-0 x) (-> s4-0 z))))
|
||||
(enemy-method-50 obj s4-0)
|
||||
(let* ((f0-6 (atan (-> s4-0 x) (-> s4-0 z)))
|
||||
@@ -1298,7 +1295,7 @@
|
||||
)
|
||||
0
|
||||
(let ((s0-0 (new 'stack-no-clear 'nav-avoid-spheres-params)))
|
||||
(vector-! (-> s0-0 current-pos) (-> obj root-override2 trans) (-> obj nav state mesh bounds))
|
||||
(vector-! (-> s0-0 current-pos) (-> obj root trans) (-> obj nav state mesh bounds))
|
||||
(set! sv-272 (-> s0-0 travel))
|
||||
(set! (-> sv-272 x) (sin arg1))
|
||||
(set! (-> sv-272 y) 0.0)
|
||||
@@ -1312,13 +1309,7 @@
|
||||
0
|
||||
(when (>= arg2 (fabs (deg- arg1 (atan (-> arg0 x) (-> arg0 z)))))
|
||||
(let ((t0-2 (new 'stack-no-clear 'clamp-travel-vector-to-mesh-return-info)))
|
||||
(clamp-vector-to-mesh-no-gaps
|
||||
(-> obj nav)
|
||||
(-> obj root-override2 trans)
|
||||
(-> obj nav state current-poly)
|
||||
arg0
|
||||
t0-2
|
||||
)
|
||||
(clamp-vector-to-mesh-no-gaps (-> obj nav) (-> obj root trans) (-> obj nav state current-poly) arg0 t0-2)
|
||||
)
|
||||
(.lvf vf1 (&-> arg0 quad))
|
||||
(.add.w.vf vf2 vf0 vf0 :mask #b1)
|
||||
|
||||
Generated
Vendored
+3
-3
@@ -38,7 +38,7 @@
|
||||
:end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0))
|
||||
:end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5))
|
||||
:end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
|
||||
:end-st-rot (degrees 3932160.0)
|
||||
:end-st-rot (degrees 3932160)
|
||||
)
|
||||
(new 'static 'texture-anim-layer
|
||||
:func-id 'default-texture-anim-layer-func
|
||||
@@ -81,7 +81,7 @@
|
||||
:end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0))
|
||||
:end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5))
|
||||
:end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
|
||||
:end-st-rot (degrees 65536.0)
|
||||
:end-st-rot (degrees 65536)
|
||||
)
|
||||
(new 'static 'texture-anim-layer
|
||||
:func-id 'default-texture-anim-layer-func
|
||||
@@ -103,7 +103,7 @@
|
||||
:end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0))
|
||||
:end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5))
|
||||
:end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
|
||||
:end-st-rot (degrees 65536.0)
|
||||
:end-st-rot (degrees 65536)
|
||||
)
|
||||
(new 'static 'texture-anim-layer
|
||||
:func-id 'default-texture-anim-layer-func
|
||||
|
||||
+1
-1
@@ -184,7 +184,7 @@
|
||||
)
|
||||
)
|
||||
(else
|
||||
(let ((s4-0 (-> arg0 root-override trans)))
|
||||
(let ((s4-0 (-> arg0 root trans)))
|
||||
(if (movie?)
|
||||
(set! s4-0 (camera-pos))
|
||||
)
|
||||
|
||||
+9
-9
@@ -300,7 +300,7 @@
|
||||
(vf7 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(let* ((v1-1 (-> obj root-override trans))
|
||||
(let* ((v1-1 (-> obj root trans))
|
||||
(a1-0 (-> obj tail-pos))
|
||||
(s5-1 (vector-! (new 'stack-no-clear 'vector) v1-1 a1-0))
|
||||
(gp-0 (new 'stack-no-clear 'vector))
|
||||
@@ -384,7 +384,7 @@
|
||||
(t2-0 #f)
|
||||
(t3-0 *launch-matrix*)
|
||||
)
|
||||
(set! (-> t3-0 trans quad) (-> obj root-override trans quad))
|
||||
(set! (-> t3-0 trans quad) (-> obj root trans quad))
|
||||
((the-as (function object object object object object object object object none) t9-2)
|
||||
a0-3
|
||||
a1-2
|
||||
@@ -423,7 +423,7 @@
|
||||
;; definition for method 38 of type sig-shot
|
||||
(defmethod made-impact? sig-shot ((obj sig-shot))
|
||||
"TODO - queries the collision cache, return true/false"
|
||||
(let ((v1-0 (-> obj root-override))
|
||||
(let ((v1-0 (-> obj root))
|
||||
(t1-0 (new 'stack-no-clear 'collide-query))
|
||||
)
|
||||
(let ((a1-0 t1-0))
|
||||
@@ -443,7 +443,7 @@
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sig-shot-move ((arg0 sig-shot))
|
||||
(projectile-move-fill-line-sphere arg0)
|
||||
(let ((s5-0 (-> arg0 root-override)))
|
||||
(let ((s5-0 (-> arg0 root)))
|
||||
(let ((s4-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans))
|
||||
(let ((f0-0 (vector-length s4-0)))
|
||||
@@ -459,7 +459,7 @@
|
||||
)
|
||||
(set! (-> a1-5 quad) (-> s5-0 trans quad))
|
||||
(vector+! a1-5 a1-5 v1-9)
|
||||
(move-to-point! (-> arg0 root-override) a1-5)
|
||||
(move-to-point! (-> arg0 root) a1-5)
|
||||
)
|
||||
(go (method-of-object arg0 impact))
|
||||
)
|
||||
@@ -513,7 +513,7 @@
|
||||
)
|
||||
(set! (-> s5-0 max-iteration-count) (the-as uint 1))
|
||||
(set! (-> s5-0 event-self) 'touched)
|
||||
(set! (-> obj root-override) s5-0)
|
||||
(set! (-> obj root) s5-0)
|
||||
)
|
||||
(let ((v1-22 (-> obj parent)))
|
||||
(when (not (logtest? (-> (the-as sig (if v1-22
|
||||
@@ -525,7 +525,7 @@
|
||||
(bot-flags attacked)
|
||||
)
|
||||
)
|
||||
(let* ((a0-16 (-> obj root-override))
|
||||
(let* ((a0-16 (-> obj root))
|
||||
(v1-27 (-> a0-16 root-prim))
|
||||
)
|
||||
(countdown (a0-17 (-> a0-16 total-prims))
|
||||
@@ -535,7 +535,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> obj root-override pat-ignore-mask)
|
||||
(set! (-> obj root pat-ignore-mask)
|
||||
(new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1)
|
||||
)
|
||||
(none)
|
||||
@@ -546,7 +546,7 @@
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod init-proj-settings! sig-shot ((obj sig-shot))
|
||||
"Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc"
|
||||
(set! (-> obj tail-pos quad) (-> obj root-override trans quad))
|
||||
(set! (-> obj tail-pos quad) (-> obj root trans quad))
|
||||
(set! (-> obj attack-mode) 'eco-yellow)
|
||||
(set! (-> obj max-speed) 307200.0)
|
||||
(set! (-> obj move) sig-shot-move)
|
||||
|
||||
+16
-26
@@ -470,11 +470,11 @@
|
||||
(cond
|
||||
((< f0-24 f28-0)
|
||||
(if (>= f0-24 f30-0)
|
||||
(quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-1 (/ (- f0-24 f30-0) (- f28-0 f30-0)))
|
||||
(quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-1 (/ (- f0-24 f30-0) (- f28-0 f30-0)))
|
||||
)
|
||||
)
|
||||
(else
|
||||
(quaternion-copy! (-> self root-override2 quat) s5-1)
|
||||
(quaternion-copy! (-> self root quat) s5-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -948,7 +948,7 @@
|
||||
(set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags))))
|
||||
)
|
||||
(set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags))))
|
||||
(set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info))
|
||||
(set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info))
|
||||
)
|
||||
0
|
||||
(let ((v1-5 self))
|
||||
@@ -1265,12 +1265,7 @@
|
||||
(none)
|
||||
)
|
||||
:post (behavior ()
|
||||
(seek-toward-heading-vec!
|
||||
(-> self root-override2)
|
||||
(-> self focus-info bullseye-xz-dir)
|
||||
131072.0
|
||||
(seconds 0.05)
|
||||
)
|
||||
(seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 131072.0 (seconds 0.05))
|
||||
(nav-enemy-simple-post)
|
||||
(none)
|
||||
)
|
||||
@@ -1320,12 +1315,7 @@
|
||||
(let ((f30-1 (ja-aframe f30-0 0)))
|
||||
(ja-no-eval :group! gp-0 :num! (seek! f30-1) :frame-num 0.0)
|
||||
(until (ja-done? 0)
|
||||
(seek-toward-heading-vec!
|
||||
(-> self root-override2)
|
||||
(-> self focus-info bullseye-xz-dir)
|
||||
131072.0
|
||||
(seconds 0.05)
|
||||
)
|
||||
(seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 131072.0 (seconds 0.05))
|
||||
(bot-method-223 self #t)
|
||||
(if (and (>= (- (current-time) (-> self state-time)) (seconds 0.1))
|
||||
(or (not (bot-method-214 self)) (not (sig-method-245 self)))
|
||||
@@ -1677,7 +1667,7 @@
|
||||
(if (logtest? (-> gp-0 flags) 2)
|
||||
(go-virtual sig-path-shoot-jump)
|
||||
)
|
||||
(let ((v1-14 (-> self root-override2)))
|
||||
(let ((v1-14 (-> self root)))
|
||||
(set! (-> v1-14 trans quad) (-> gp-0 pos quad))
|
||||
(set! (-> v1-14 trans w) 1.0)
|
||||
(quaternion-copy! (-> v1-14 quat) (-> gp-0 quat))
|
||||
@@ -1698,7 +1688,7 @@
|
||||
(ja-no-eval :group! (-> self draw art-group data 56) :num! (loop!))
|
||||
(until #f
|
||||
(suspend)
|
||||
(let* ((f0-1 (vector-length (-> self root-override2 transv)))
|
||||
(let* ((f0-1 (vector-length (-> self root transv)))
|
||||
(f0-3 (fmax 0.1 (* 0.000020345053 f0-1)))
|
||||
)
|
||||
(ja :num! (loop! f0-3))
|
||||
@@ -1749,7 +1739,7 @@
|
||||
(go-virtual sig-path-jump-land)
|
||||
)
|
||||
)
|
||||
(let ((v1-27 (-> self root-override2)))
|
||||
(let ((v1-27 (-> self root)))
|
||||
(set! (-> v1-27 trans quad) (-> gp-0 pos quad))
|
||||
(set! (-> v1-27 trans w) 1.0)
|
||||
(quaternion-copy! (-> v1-27 quat) (-> gp-0 quat))
|
||||
@@ -1818,7 +1808,7 @@
|
||||
(go-virtual sig-path-shoot-jump)
|
||||
)
|
||||
)
|
||||
(let ((v1-18 (-> self root-override2)))
|
||||
(let ((v1-18 (-> self root)))
|
||||
(set! (-> v1-18 trans quad) (-> gp-0 pos quad))
|
||||
(set! (-> v1-18 trans w) 1.0)
|
||||
(quaternion-copy! (-> v1-18 quat) (-> gp-0 quat))
|
||||
@@ -1828,7 +1818,7 @@
|
||||
)
|
||||
:code (behavior ()
|
||||
(ja-channel-push! 1 (seconds 0.15))
|
||||
(let* ((f0-0 (vector-length (-> self root-override2 transv)))
|
||||
(let* ((f0-0 (vector-length (-> self root transv)))
|
||||
(f0-2 (fmax 0.1 (* 0.000020345053 f0-0)))
|
||||
)
|
||||
(ja-no-eval :group! (-> self draw art-group data 58)
|
||||
@@ -1841,7 +1831,7 @@
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(suspend)
|
||||
(let* ((f0-4 (vector-length (-> self root-override2 transv)))
|
||||
(let* ((f0-4 (vector-length (-> self root transv)))
|
||||
(f0-6 (fmax 0.1 (* 0.000020345053 f0-4)))
|
||||
)
|
||||
(ja :num! (seek! max f0-6))
|
||||
@@ -1893,7 +1883,7 @@
|
||||
(go-virtual sig-path-shoot-jump-land)
|
||||
)
|
||||
)
|
||||
(let ((v1-29 (-> self root-override2)))
|
||||
(let ((v1-29 (-> self root)))
|
||||
(set! (-> v1-29 trans quad) (-> gp-0 pos quad))
|
||||
(set! (-> v1-29 trans w) 1.0)
|
||||
(quaternion-copy! (-> v1-29 quat) (-> gp-0 quat))
|
||||
@@ -1967,7 +1957,7 @@
|
||||
(go-virtual sig-path-jump)
|
||||
)
|
||||
)
|
||||
(let ((v1-18 (-> self root-override2)))
|
||||
(let ((v1-18 (-> self root)))
|
||||
(set! (-> v1-18 trans quad) (-> gp-0 pos quad))
|
||||
(set! (-> v1-18 trans w) 1.0)
|
||||
(quaternion-copy! (-> v1-18 quat) (-> gp-0 quat))
|
||||
@@ -1977,7 +1967,7 @@
|
||||
)
|
||||
:code (behavior ()
|
||||
(ja-channel-push! 1 (seconds 0.15))
|
||||
(let* ((f0-0 (vector-length (-> self root-override2 transv)))
|
||||
(let* ((f0-0 (vector-length (-> self root transv)))
|
||||
(f0-2 (fmax 0.1 (* 0.000020345053 f0-0)))
|
||||
)
|
||||
(ja-no-eval :group! (-> self draw art-group data 60)
|
||||
@@ -1990,7 +1980,7 @@
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(suspend)
|
||||
(let* ((f0-4 (vector-length (-> self root-override2 transv)))
|
||||
(let* ((f0-4 (vector-length (-> self root transv)))
|
||||
(f0-6 (fmax 0.1 (* 0.000020345053 f0-4)))
|
||||
)
|
||||
(ja :num! (seek! max f0-6))
|
||||
@@ -2021,7 +2011,7 @@
|
||||
(look-at-target! self (enemy-flag lock-focus))
|
||||
(set! (-> self skel top-anim interp) 0.0)
|
||||
(set! (-> self travel-anim-interp) 0.0)
|
||||
(vector-reset! (-> self root-override2 transv))
|
||||
(vector-reset! (-> self root transv))
|
||||
(none)
|
||||
)
|
||||
:code (behavior ()
|
||||
|
||||
+6
-8
@@ -112,9 +112,7 @@
|
||||
)
|
||||
(or (player-blocking-spot? arg0 v1-2)
|
||||
(or (not gp-0)
|
||||
(>= 14336.0
|
||||
(vector-vector-xz-distance (target-pos 0) (-> (the-as process-focusable gp-0) root-override trans))
|
||||
)
|
||||
(>= 14336.0 (vector-vector-xz-distance (target-pos 0) (-> (the-as process-focusable gp-0) root trans)))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -125,7 +123,7 @@
|
||||
(defmethod sigt-choose-piston-method-13 sigt-choose-piston ((obj sigt-choose-piston) (arg0 sig))
|
||||
(let ((s4-0 0))
|
||||
(let ((f30-0 -1.0)
|
||||
(s3-0 (-> arg0 root-override2 trans))
|
||||
(s3-0 (-> arg0 root trans))
|
||||
)
|
||||
(countdown (s2-0 (-> obj num-spots))
|
||||
(let* ((v1-3 (-> obj spot-indexes s2-0))
|
||||
@@ -183,8 +181,8 @@
|
||||
)
|
||||
)
|
||||
(when (and (< v1-19 (seconds 0.5)) (< (seconds 0.2) v1-19))
|
||||
(let ((v1-22 (-> (the-as process-focusable s5-1) root-override))
|
||||
(s4-0 (-> arg0 root-override2))
|
||||
(let ((v1-22 (-> (the-as process-focusable s5-1) root))
|
||||
(s4-0 (-> arg0 root))
|
||||
)
|
||||
(when (>= 10012.445
|
||||
(fabs (deg-
|
||||
@@ -194,8 +192,8 @@
|
||||
)
|
||||
)
|
||||
(set! (-> arg0 enemy-flags) (the-as enemy-flag (logclear (-> arg0 enemy-flags) (enemy-flag vulnerable))))
|
||||
(when (send-event arg0 'jump 4 (-> (the-as process-focusable s5-1) root-override trans))
|
||||
(set! (-> arg0 spot center quad) (-> (the-as process-focusable s5-1) root-override trans quad))
|
||||
(when (send-event arg0 'jump 4 (-> (the-as process-focusable s5-1) root trans))
|
||||
(set! (-> arg0 spot center quad) (-> (the-as process-focusable s5-1) root trans quad))
|
||||
(set! (-> arg0 spot center w) 10240.0)
|
||||
(return #t)
|
||||
)
|
||||
|
||||
+25
-29
@@ -220,7 +220,7 @@
|
||||
:walk-travel-speed (meters 4)
|
||||
:walk-acceleration (meters 8)
|
||||
:walk-turning-acceleration (meters 6)
|
||||
:maximum-rotation-rate (degrees 360.0)
|
||||
:maximum-rotation-rate (degrees 360)
|
||||
:notice-nav-radius (meters 20)
|
||||
:frustration-distance (meters 8)
|
||||
:frustration-time (seconds 4)
|
||||
@@ -295,9 +295,7 @@
|
||||
(cond
|
||||
(s4-0
|
||||
(if (or (not (logtest? (bot-flags bf19) (-> obj bot-flags)))
|
||||
(>= 16384.0
|
||||
(vector-vector-xz-distance (-> obj root-override2 trans) (get-trans (the-as process-focusable s4-0) 3))
|
||||
)
|
||||
(>= 16384.0 (vector-vector-xz-distance (-> obj root trans) (get-trans (the-as process-focusable s4-0) 3)))
|
||||
)
|
||||
(set! s5-1 s4-0)
|
||||
)
|
||||
@@ -330,9 +328,7 @@
|
||||
(cond
|
||||
(s4-0
|
||||
(if (or (not (logtest? (bot-flags bf19) (-> obj bot-flags)))
|
||||
(>= 16384.0
|
||||
(vector-vector-xz-distance (-> obj root-override2 trans) (get-trans (the-as process-focusable s4-0) 3))
|
||||
)
|
||||
(>= 16384.0 (vector-vector-xz-distance (-> obj root trans) (get-trans (the-as process-focusable s4-0) 3)))
|
||||
)
|
||||
(set! s5-1 s4-0)
|
||||
)
|
||||
@@ -462,7 +458,7 @@
|
||||
(t9-2 obj)
|
||||
)
|
||||
(when (logtest? (-> obj bot-flags) (bot-flags too-far-fail))
|
||||
(let ((f0-0 (vector-vector-distance (-> obj root-override2 trans) (target-pos 0))))
|
||||
(let ((f0-0 (vector-vector-distance (-> obj root trans) (target-pos 0))))
|
||||
(when (or (>= f0-0 491520.0) (and (>= f0-0 102400.0) (>= (- (current-time) (-> obj last-draw-time)) (seconds 10))))
|
||||
(process-entity-status! obj (entity-perm-status no-kill) #f)
|
||||
(cleanup-for-death obj)
|
||||
@@ -512,7 +508,7 @@
|
||||
(let ((v1-0 arg0))
|
||||
(cond
|
||||
((zero? v1-0)
|
||||
(let ((v1-2 (-> obj root-override2 root-prim)))
|
||||
(let ((v1-2 (-> obj root root-prim)))
|
||||
(dotimes (a0-1 4)
|
||||
(let ((a1-3 (-> (the-as collide-shape-prim-group v1-2) child (+ a0-1 3))))
|
||||
(set! (-> a1-3 prim-core collide-with) (collide-spec))
|
||||
@@ -523,7 +519,7 @@
|
||||
)
|
||||
)
|
||||
((= v1-0 3)
|
||||
(let ((v1-5 (the-as collide-shape-prim-group (-> obj root-override2 root-prim))))
|
||||
(let ((v1-5 (the-as collide-shape-prim-group (-> obj root root-prim))))
|
||||
(let ((a0-3 (-> v1-5 child 3)))
|
||||
(set! (-> a0-3 prim-core collide-as) (collide-spec bot bot-targetable))
|
||||
(set! (-> a0-3 prim-core collide-with)
|
||||
@@ -648,7 +644,7 @@
|
||||
)
|
||||
(set! (-> s5-0 max-iteration-count) (the-as uint 3))
|
||||
(set! (-> s5-0 event-priority) (the-as uint 8))
|
||||
(set! (-> obj root-override2) s5-0)
|
||||
(set! (-> obj root) s5-0)
|
||||
)
|
||||
(enemy-method-46 obj 0)
|
||||
0
|
||||
@@ -851,7 +847,7 @@
|
||||
(set! (-> v1-12 frame-interp 0) f28-0)
|
||||
)
|
||||
(let* ((f28-1 (current-cycle-distance (-> obj skel)))
|
||||
(f0-5 (quaternion-y-angle (-> obj root-override2 quat)))
|
||||
(f0-5 (quaternion-y-angle (-> obj root quat)))
|
||||
(f1-2 (deg- f0-5 (-> obj travel-prev-ry)))
|
||||
(f0-8 (fmin 28672.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-2))))
|
||||
(f0-11 (/ (* 24.0 (fmax f30-0 f0-8)) (* 30.0 f28-1)))
|
||||
@@ -934,7 +930,7 @@
|
||||
(let ((s4-0 (new 'stack-no-clear 'vector)))
|
||||
0.0
|
||||
0.0
|
||||
(vector-z-quaternion! s4-0 (-> obj root-override2 quat))
|
||||
(vector-z-quaternion! s4-0 (-> obj root quat))
|
||||
(let ((f30-0 (atan (-> s4-0 x) (-> s4-0 z))))
|
||||
(enemy-method-50 obj s4-0)
|
||||
(let* ((f0-14 (atan (-> s4-0 x) (-> s4-0 z)))
|
||||
@@ -1050,7 +1046,7 @@
|
||||
(v0-0 (t9-0 obj))
|
||||
)
|
||||
(when (and (= (-> obj jump-why) 4) (not v0-0))
|
||||
(when (< (-> obj root-override2 transv y) 0.0)
|
||||
(when (< (-> obj root transv y) 0.0)
|
||||
(let* ((v1-11 (-> obj actor-group 0 data (-> obj platform-index) actor))
|
||||
(a0-5 (if v1-11
|
||||
(-> v1-11 extra process)
|
||||
@@ -1058,11 +1054,11 @@
|
||||
)
|
||||
)
|
||||
(when a0-5
|
||||
(let ((s4-0 (-> (the-as process-focusable a0-5) root-override trans))
|
||||
(s5-0 (-> obj root-override2 trans))
|
||||
(let ((s4-0 (-> (the-as process-focusable a0-5) root trans))
|
||||
(s5-0 (-> obj root trans))
|
||||
)
|
||||
(when (< 2048.0 (- (-> s4-0 y) (-> s5-0 y)))
|
||||
(vector-reset! (-> obj root-override2 transv))
|
||||
(vector-reset! (-> obj root transv))
|
||||
(let ((f30-0 9420.8))
|
||||
(when (< f30-0 (vector-vector-xz-distance s4-0 s5-0))
|
||||
(vector-! s5-0 s5-0 s4-0)
|
||||
@@ -1072,9 +1068,9 @@
|
||||
)
|
||||
)
|
||||
(let ((a1-4 (new 'stack-no-clear 'collide-query)))
|
||||
(find-ground (-> obj root-override2) a1-4 (the-as collide-spec (-> obj gnd-collide)) 8192.0 81920.0 1024.0)
|
||||
(find-ground (-> obj root) a1-4 (the-as collide-spec (-> obj gnd-collide)) 8192.0 81920.0 1024.0)
|
||||
)
|
||||
(set! (-> s5-0 y) (-> obj root-override2 gspot-pos y))
|
||||
(set! (-> s5-0 y) (-> obj root gspot-pos y))
|
||||
(set! v0-0 #t)
|
||||
)
|
||||
)
|
||||
@@ -1096,14 +1092,14 @@
|
||||
(t9-0 obj)
|
||||
)
|
||||
(let ((s5-0 (static-sound-spec "sig-jland" :mask (reg0))))
|
||||
(set! (-> s5-0 reg 0) (the-as uint (-> obj root-override2 ground-pat material)))
|
||||
(set! (-> s5-0 reg 0) (the-as uint (-> obj root ground-pat material)))
|
||||
(sound-play-by-spec s5-0 (new-sound-id) (the-as vector #t))
|
||||
)
|
||||
(the-as
|
||||
float
|
||||
(cond
|
||||
((logtest? (bot-flags bf23) (-> obj bot-flags))
|
||||
(let ((v0-3 (the-as object (-> obj root-override2 transv))))
|
||||
(let ((v0-3 (the-as object (-> obj root transv))))
|
||||
(.svf (&-> (the-as vector v0-3) quad) vf0)
|
||||
v0-3
|
||||
)
|
||||
@@ -1118,11 +1114,11 @@
|
||||
(set! (-> v1-11 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-11 enemy-flags))))
|
||||
)
|
||||
(set! (-> v1-11 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-11 enemy-flags))))
|
||||
(set! (-> v1-11 nav callback-info) (-> v1-11 enemy-info-override callback-info))
|
||||
(set! (-> v1-11 nav callback-info) (-> v1-11 enemy-info callback-info))
|
||||
)
|
||||
0
|
||||
(let ((s5-1 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> s5-1 quad) (-> obj root-override2 transv quad))
|
||||
(set! (-> s5-1 quad) (-> obj root transv quad))
|
||||
(set! (-> s5-1 y) 0.0)
|
||||
(let ((v1-18 (-> obj nav state)))
|
||||
(set! (-> v1-18 speed) (fmin (vector-length s5-1) (-> obj nav target-speed)))
|
||||
@@ -1152,7 +1148,7 @@
|
||||
(joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-loop!)
|
||||
)
|
||||
(ja-channel-push! 1 (seconds 0.1))
|
||||
(let ((a1-3 (-> obj draw art-group data (-> obj enemy-info-override jump-wind-up-anim)))
|
||||
(let ((a1-3 (-> obj draw art-group data (-> obj enemy-info jump-wind-up-anim)))
|
||||
(a0-6 (-> obj skel root-channel 0))
|
||||
)
|
||||
(set! (-> a0-6 frame-group) (the-as art-joint-anim a1-3))
|
||||
@@ -1176,7 +1172,7 @@
|
||||
(joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-loop!)
|
||||
)
|
||||
(ja-channel-push! 1 (seconds 0.1))
|
||||
(let ((a1-3 (-> obj draw art-group data (-> obj enemy-info-override jump-land-anim)))
|
||||
(let ((a1-3 (-> obj draw art-group data (-> obj enemy-info jump-land-anim)))
|
||||
(a0-6 (-> obj skel root-channel 0))
|
||||
)
|
||||
(set! (-> a0-6 frame-group) (the-as art-joint-anim a1-3))
|
||||
@@ -1247,7 +1243,7 @@
|
||||
(when (!= (-> obj sig-path-cur-time) a0-1)
|
||||
(set! (-> obj sig-path-prev-time) (-> obj sig-path-cur-time))
|
||||
(set! (-> obj sig-path-cur-time) a0-1)
|
||||
(set! (-> obj event-param-point quad) (-> obj root-override2 trans quad))
|
||||
(set! (-> obj event-param-point quad) (-> obj root trans quad))
|
||||
)
|
||||
)
|
||||
(let ((s3-0 (+ (-> obj sig-path sample-count) -1))
|
||||
@@ -1287,9 +1283,9 @@
|
||||
(quaternion-slerp! (-> arg0 quat) (-> s3-1 quat) (-> s4-1 quat) f30-0)
|
||||
(set! (-> arg0 flags) s2-1)
|
||||
)
|
||||
(vector-! (-> obj root-override2 transv) (-> arg0 pos) (-> obj event-param-point))
|
||||
(let ((v0-5 (-> obj root-override2 transv)))
|
||||
(.lvf vf1 (&-> (-> obj root-override2 transv) quad))
|
||||
(vector-! (-> obj root transv) (-> arg0 pos) (-> obj event-param-point))
|
||||
(let ((v0-5 (-> obj root transv)))
|
||||
(.lvf vf1 (&-> (-> obj root transv) quad))
|
||||
(let ((f0-7 (-> pp clock frames-per-second)))
|
||||
(.mov at-0 f0-7)
|
||||
)
|
||||
|
||||
+43
-51
@@ -236,7 +236,7 @@
|
||||
:walk-travel-speed (meters 3)
|
||||
:walk-acceleration (meters 2)
|
||||
:walk-turning-acceleration (meters 8)
|
||||
:maximum-rotation-rate (degrees 720.0)
|
||||
:maximum-rotation-rate (degrees 720)
|
||||
:notice-nav-radius (meters 10)
|
||||
:frustration-distance (meters 8)
|
||||
:frustration-time (seconds 4)
|
||||
@@ -369,7 +369,7 @@
|
||||
(defstate knocked (citizen-rebel)
|
||||
:virtual #t
|
||||
:enter (behavior ()
|
||||
(let ((gp-0 (find-nearest-nav-mesh (-> self root-override2 trans) (the-as float #x7f800000))))
|
||||
(let ((gp-0 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000))))
|
||||
(change-to gp-0 self)
|
||||
(if (not (-> self nav))
|
||||
(go-inactive self)
|
||||
@@ -380,15 +380,15 @@
|
||||
(set! (-> v1-10 current-poly) (the-as nav-poly #f))
|
||||
)
|
||||
0
|
||||
(do-navigation-to-destination (-> self nav state) (-> self root-override2 trans))
|
||||
(set! (-> self gnd-height) (-> self root-override2 gspot-pos y))
|
||||
(do-navigation-to-destination (-> self nav state) (-> self root trans))
|
||||
(set! (-> self gnd-height) (-> self root gspot-pos y))
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector))
|
||||
(gp-1 (new 'stack-no-clear 'quaternion))
|
||||
)
|
||||
(vector-y-quaternion! s5-0 (-> self root-override2 quat))
|
||||
(vector-y-quaternion! s5-0 (-> self root quat))
|
||||
(vector-normalize! s5-0 1.0)
|
||||
(quaternion-from-two-vectors! gp-1 s5-0 *up-vector*)
|
||||
(quaternion*! (-> self root-override2 quat) gp-1 (-> self root-override2 quat))
|
||||
(quaternion*! (-> self root quat) gp-1 (-> self root quat))
|
||||
)
|
||||
(let ((t9-8 (-> (method-of-type civilian knocked) enter)))
|
||||
(if t9-8
|
||||
@@ -404,7 +404,7 @@
|
||||
:virtual #t
|
||||
:event (the-as (function process int symbol event-message-block object :behavior citizen-rebel) enemy-event-handler)
|
||||
:enter (behavior ((arg0 object) (arg1 object) (arg2 int) (arg3 symbol) (arg4 event-message-block))
|
||||
(let ((a0-2 (find-nearest-nav-mesh (-> self root-override2 trans) (the-as float #x7f800000))))
|
||||
(let ((a0-2 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000))))
|
||||
(if a0-2
|
||||
(set! (-> self nav-mesh-aid) (the-as actor-id (-> a0-2 entity aid)))
|
||||
)
|
||||
@@ -420,7 +420,7 @@
|
||||
0
|
||||
(citizen-method-195
|
||||
self
|
||||
(vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)))
|
||||
(vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))
|
||||
)
|
||||
(let ((a0-9 (-> self nav state))
|
||||
(v1-17 (-> self controller turn-exit-point))
|
||||
@@ -431,11 +431,11 @@
|
||||
)
|
||||
0
|
||||
(citizen-nav-init! self)
|
||||
(set! (-> self gnd-height) (-> self root-override2 gspot-pos y))
|
||||
(set! (-> self gnd-height) (-> self root gspot-pos y))
|
||||
(logior! (-> self flags) (citizen-flag persistent))
|
||||
(set! (-> self focus-status) (logior (focus-status pilot-riding pilot) (-> self focus-status)))
|
||||
(set! (-> self state-time) (current-time))
|
||||
(let ((v1-31 (-> self root-override2 root-prim)))
|
||||
(let ((v1-31 (-> self root root-prim)))
|
||||
(set! (-> v1-31 prim-core collide-as) (collide-spec))
|
||||
(set! (-> v1-31 prim-core collide-with) (collide-spec))
|
||||
)
|
||||
@@ -471,9 +471,9 @@
|
||||
(let ((s4-0 (handle->process (-> self vehicle)))
|
||||
(s3-0 (new 'stack-no-clear 'quaternion))
|
||||
)
|
||||
(quaternion-copy! s3-0 (-> (the-as vehicle s4-0) root-override-2 quat))
|
||||
(compute-seat-position (the-as vehicle s4-0) (-> self root-override2 trans) (-> self seat))
|
||||
(quaternion-copy! (-> self root-override2 quat) s3-0)
|
||||
(quaternion-copy! s3-0 (-> (the-as vehicle s4-0) root quat))
|
||||
(compute-seat-position (the-as vehicle s4-0) (-> self root trans) (-> self seat))
|
||||
(quaternion-copy! (-> self root quat) s3-0)
|
||||
)
|
||||
(when (>= (- (current-time) (-> self state-time)) (seconds 2))
|
||||
(put-rider-in-seat (the-as vehicle (handle->process (-> self vehicle))) (-> self seat) self)
|
||||
@@ -490,8 +490,8 @@
|
||||
(let ((s3-1 (handle->process (-> self vehicle)))
|
||||
(s4-2 (new 'stack-no-clear 'quaternion))
|
||||
)
|
||||
(quaternion-copy! s4-2 (-> (the-as vehicle s3-1) root-override-2 quat))
|
||||
(compute-seat-position (the-as vehicle s3-1) (-> self root-override2 trans) (-> self seat))
|
||||
(quaternion-copy! s4-2 (-> (the-as vehicle s3-1) root quat))
|
||||
(compute-seat-position (the-as vehicle s3-1) (-> self root trans) (-> self seat))
|
||||
(let ((s3-2 lerp-scale)
|
||||
(s2-0 0.0)
|
||||
(s1-0 1.0)
|
||||
@@ -501,11 +501,11 @@
|
||||
(let* ((t0-1 (ja-aframe 7.0 0))
|
||||
(f0-4 (s3-2 s2-0 s1-0 s0-0 sv-176 t0-1))
|
||||
)
|
||||
(quaternion-rotate-local-y! (-> self root-override2 quat) s4-2 (* f0-4 (if (zero? (-> self seat))
|
||||
-16384.0
|
||||
16384.0
|
||||
)
|
||||
)
|
||||
(quaternion-rotate-local-y! (-> self root quat) s4-2 (* f0-4 (if (zero? (-> self seat))
|
||||
-16384.0
|
||||
16384.0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -515,19 +515,19 @@
|
||||
)
|
||||
(let ((s4-4 (handle->process (-> self vehicle))))
|
||||
(let ((s3-3 (new 'stack-no-clear 'quaternion)))
|
||||
(quaternion-copy! s3-3 (-> (the-as vehicle s4-4) root-override-2 quat))
|
||||
(compute-seat-position (the-as vehicle s4-4) (-> self root-override2 trans) (-> self seat))
|
||||
(quaternion-rotate-local-y! (-> self root-override2 quat) s3-3 (if (zero? (-> self seat))
|
||||
-16384.0
|
||||
16384.0
|
||||
)
|
||||
(quaternion-copy! s3-3 (-> (the-as vehicle s4-4) root quat))
|
||||
(compute-seat-position (the-as vehicle s4-4) (-> self root trans) (-> self seat))
|
||||
(quaternion-rotate-local-y! (-> self root quat) s3-3 (if (zero? (-> self seat))
|
||||
-16384.0
|
||||
16384.0
|
||||
)
|
||||
)
|
||||
)
|
||||
(remove-rider (the-as vehicle s4-4) self)
|
||||
)
|
||||
(logclear! (-> self focus-status) (focus-status pilot-riding pilot))
|
||||
(let ((v1-65 (handle->process (-> self vehicle))))
|
||||
(quaternion-copy! s5-0 (-> (the-as vehicle v1-65) root-override-2 quat))
|
||||
(quaternion-copy! s5-0 (-> (the-as vehicle v1-65) root quat))
|
||||
)
|
||||
(ja-no-eval :group! (-> self draw art-group data (-> self info get-in-car-anim))
|
||||
:num! (seek! (ja-aframe 1.0 0) 0.5)
|
||||
@@ -562,8 +562,8 @@
|
||||
(quaternion-from-two-vectors! s2-3 a1-40 *up-vector*)
|
||||
(quaternion*! s3-4 s2-3 s3-4)
|
||||
)
|
||||
(quaternion-copy! (-> self root-override2 quat) s3-4)
|
||||
(vector+float*! (-> self root-override2 trans) gp-0 s4-6 f30-0)
|
||||
(quaternion-copy! (-> self root quat) s3-4)
|
||||
(vector+float*! (-> self root trans) gp-0 s4-6 f30-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -571,9 +571,9 @@
|
||||
(ja :num! (seek! (ja-aframe 1.0 0) 0.5))
|
||||
)
|
||||
)
|
||||
(let ((v1-96 (-> self root-override2 root-prim)))
|
||||
(set! (-> v1-96 prim-core collide-as) (-> self root-override2 backup-collide-as))
|
||||
(set! (-> v1-96 prim-core collide-with) (-> self root-override2 backup-collide-with))
|
||||
(let ((v1-96 (-> self root root-prim)))
|
||||
(set! (-> v1-96 prim-core collide-as) (-> self root backup-collide-as))
|
||||
(set! (-> v1-96 prim-core collide-with) (-> self root backup-collide-with))
|
||||
)
|
||||
(go-virtual wait-for-ride)
|
||||
(none)
|
||||
@@ -585,13 +585,13 @@
|
||||
:virtual #t
|
||||
:trans (behavior ()
|
||||
(when (-> self vehicle)
|
||||
(case (-> (the-as vehicle (handle->process (-> self vehicle))) info-override object-type)
|
||||
(case (-> (the-as vehicle (handle->process (-> self vehicle))) info object-type)
|
||||
((14 15 16)
|
||||
(go-virtual move-to-vehicle)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self end-pos)) 122880.0)
|
||||
(when (< (vector-vector-xz-distance (-> self root trans) (-> self end-pos)) 122880.0)
|
||||
(when (not (-> self done?))
|
||||
(set! (-> self done?) #t)
|
||||
(let ((a1-4 (new 'stack-no-clear 'event-message-block)))
|
||||
@@ -918,7 +918,7 @@
|
||||
(let ((f30-0 (get-rand-float-range obj 1.0 1.25))
|
||||
(f0-10 (get-rand-float-range obj 1.0 1.25))
|
||||
)
|
||||
(set-vector! (-> obj root-override2 scale) f0-10 f30-0 f0-10 1.0)
|
||||
(set-vector! (-> obj root scale) f0-10 f30-0 f0-10 1.0)
|
||||
)
|
||||
(let ((f0-12 (get-rand-float-range obj 0.9 1.0)))
|
||||
(set-vector! (-> obj draw color-mult) f0-12 f0-12 f0-12 1.0)
|
||||
@@ -992,7 +992,7 @@
|
||||
(set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with))
|
||||
)
|
||||
(set! (-> s5-0 max-iteration-count) (the-as uint 3))
|
||||
(set! (-> obj root-override2) s5-0)
|
||||
(set! (-> obj root) s5-0)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
@@ -1324,8 +1324,8 @@
|
||||
(set! (-> s1-1 flags) (traffic-spawn-flags))
|
||||
(set! (-> s1-1 guard-type) (the-as uint 7))
|
||||
(vector-reset! (-> s1-1 velocity))
|
||||
(set! (-> s1-1 position quad) (-> (the-as citizen-rebel s2-0) root-override2 trans quad))
|
||||
(quaternion-copy! (-> s1-1 rotation) (-> (the-as citizen-rebel s2-0) root-override2 quat))
|
||||
(set! (-> s1-1 position quad) (-> (the-as citizen-rebel s2-0) root trans quad))
|
||||
(quaternion-copy! (-> s1-1 rotation) (-> (the-as citizen-rebel s2-0) root quat))
|
||||
(set! (-> s1-1 nav-mesh) (-> s4-1 nav-mesh))
|
||||
(activate-by-handle *traffic-engine* s1-1)
|
||||
)
|
||||
@@ -1345,14 +1345,14 @@
|
||||
(else
|
||||
(let ((v1-260 (get-best-seat-for-vehicle
|
||||
(the-as vehicle s4-2)
|
||||
(-> (the-as vehicle s4-2) root-override-2 trans)
|
||||
(-> (the-as vehicle s4-2) root trans)
|
||||
(the-as int (-> (the-as citizen-rebel s2-0) info seat-flag))
|
||||
1
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (!= v1-260 -1)
|
||||
(.lvf vf1 (&-> (-> (the-as vehicle s4-2) root-override-2 transv) quad))
|
||||
(.lvf vf1 (&-> (-> (the-as vehicle s4-2) root transv) quad))
|
||||
(.add.w.vf vf2 vf0 vf0 :mask #b1)
|
||||
(.mul.vf vf1 vf1 vf1)
|
||||
(.mul.x.vf acc vf2 vf1 :mask #b1)
|
||||
@@ -1363,8 +1363,8 @@
|
||||
(f1-1 32768.0)
|
||||
)
|
||||
(if (and (< f0-1 (* f1-1 f1-1)) (let ((f0-2 (vector-vector-distance-squared
|
||||
(-> (the-as vehicle s4-2) root-override-2 trans)
|
||||
(-> (the-as citizen-rebel s2-0) root-override2 trans)
|
||||
(-> (the-as vehicle s4-2) root trans)
|
||||
(-> (the-as citizen-rebel s2-0) root trans)
|
||||
)
|
||||
)
|
||||
(f1-4 65536.0)
|
||||
@@ -1392,11 +1392,7 @@
|
||||
)
|
||||
)
|
||||
(if (and (-> s2-0 next-state) (= (-> s2-0 next-state name) 'wait-for-ride))
|
||||
(send-event
|
||||
(handle->process (-> arg0 arrow))
|
||||
'set-position
|
||||
(-> (the-as citizen-rebel s2-0) root-override2 trans)
|
||||
)
|
||||
(send-event (handle->process (-> arg0 arrow)) 'set-position (-> (the-as citizen-rebel s2-0) root trans))
|
||||
)
|
||||
)
|
||||
(else
|
||||
@@ -1860,7 +1856,3 @@
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user