mirror of
https://github.com/open-goal/jak-project
synced 2026-08-17 13:40:39 -04:00
[decompiler] as-type and font method support (#3855)
Add support for `as-type` macro, and detecting inline font methods. This works in all three games but I've only updated jak 3's goal_src for now. Eventually I will go back and work through the others, but I want to get more decompiler features in first.  --------- Co-authored-by: water111 <awaterford1111445@gmail.com>
This commit is contained in:
+3
-18
@@ -524,19 +524,9 @@
|
||||
)
|
||||
(let ((s5-1 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s4-0 (fill-actor-list-for-box *actor-hash* gp-0 s5-1 384))
|
||||
(let* ((s3-0 (-> s5-1 s4-0))
|
||||
(v1-10 (if (type? s3-0 collide-shape)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-10 (as-type (-> s5-1 s4-0) collide-shape)))
|
||||
(when v1-10
|
||||
(let* ((s3-1 (-> v1-10 process))
|
||||
(a0-11 (if (type? s3-1 process-focusable)
|
||||
s3-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-11 (as-type (-> v1-10 process) process-focusable)))
|
||||
(when a0-11
|
||||
(when (!= *target* a0-11)
|
||||
(let ((v1-13 (vector-! (new 'stack-no-clear 'vector) (-> a0-11 root trans) gp-0)))
|
||||
@@ -563,12 +553,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s4-1 *target*)
|
||||
(s5-2 (if (type? s4-1 process-focusable)
|
||||
s4-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-2 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s5-2 (< (vector-vector-distance (get-trans s5-2 0) gp-0) (-> gp-0 w)))
|
||||
(when (!= *target* s5-2)
|
||||
(let ((v1-24 (vector-! (new 'stack-no-clear 'vector) (-> s5-2 control trans) gp-0)))
|
||||
|
||||
+3
-18
@@ -558,19 +558,9 @@
|
||||
(set! (-> s5-1 w) 16384.0)
|
||||
(let ((s4-1 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s3-0 (fill-actor-list-for-box *actor-hash* s5-1 s4-1 384))
|
||||
(let* ((s2-0 (-> s4-1 s3-0))
|
||||
(v1-21 (if (type? s2-0 collide-shape)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-21 (as-type (-> s4-1 s3-0) collide-shape)))
|
||||
(when v1-21
|
||||
(let* ((s1-0 (-> v1-21 process))
|
||||
(s2-1 (if (type? s1-0 process-focusable)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s2-1 (as-type (-> v1-21 process) process-focusable)))
|
||||
(when s2-1
|
||||
(when (and (!= *target* s2-1) (type? s2-1 civilian))
|
||||
(let ((v1-25 (vector-! (new 'stack-no-clear 'vector) (-> s2-1 root trans) s5-1)))
|
||||
@@ -600,12 +590,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s3-1 *target*)
|
||||
(s4-2 (if (type? s3-1 process-focusable)
|
||||
s3-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-2 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s4-2 (< (vector-vector-distance (get-trans s4-2 0) s5-1) (-> s5-1 w)))
|
||||
(when (and (!= *target* s4-2) (type? s4-2 civilian))
|
||||
(let ((v1-39 (vector-! (new 'stack-no-clear 'vector) (-> s4-2 control trans) s5-1)))
|
||||
|
||||
+2
-6
@@ -253,12 +253,8 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 320 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-43 gp-0))
|
||||
(set! (-> v1-43 width) (the float 340))
|
||||
)
|
||||
(let ((v1-44 gp-0))
|
||||
(set! (-> v1-44 height) (the float 80))
|
||||
)
|
||||
(set-width! gp-0 340)
|
||||
(set-height! gp-0 80)
|
||||
(let ((v1-45 gp-0)
|
||||
(a0-21 (-> *setting-control* user-default language))
|
||||
)
|
||||
|
||||
+7
-30
@@ -2322,18 +2322,9 @@
|
||||
)
|
||||
(when gp-1
|
||||
(set! (-> self control unknown-word04) (the-as uint (current-time)))
|
||||
(let ((v1-9 (if (type? proc process-drawable)
|
||||
proc
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-9 (as-type proc process-drawable)))
|
||||
(when v1-9
|
||||
(let* ((s5-1 (-> (the-as process-drawable v1-9) root))
|
||||
(v1-10 (if (type? s5-1 collide-shape)
|
||||
(the-as collide-shape s5-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-10 (as-type (-> (the-as process-drawable v1-9) root) collide-shape)))
|
||||
(if (and v1-10 (or (logtest? (-> v1-10 root-prim prim-core collide-as) (collide-spec enemy))
|
||||
(logtest? (-> v1-10 root-prim prim-core action) (collide-action no-smack))
|
||||
)
|
||||
@@ -3031,13 +3022,9 @@
|
||||
(remove-setting! 'mode-name)
|
||||
)
|
||||
(('lava 'fry 'slime 'dark-eco-pool 'melt 'big-explosion)
|
||||
(let ((s5-4 (handle->process (-> self attack-info attacker))))
|
||||
(when (if (type? s5-4 water-vol)
|
||||
s5-4
|
||||
)
|
||||
(logior! (-> self target-flags) (target-flags tf14))
|
||||
(set! (-> self alt-cam-pos y) (+ 4096.0 (-> self water height)))
|
||||
)
|
||||
(when (as-type (handle->process (-> self attack-info attacker)) water-vol)
|
||||
(logior! (-> self target-flags) (target-flags tf14))
|
||||
(set! (-> self alt-cam-pos y) (+ 4096.0 (-> self water height)))
|
||||
)
|
||||
(set! (-> self control mod-surface) *neutral-mods*)
|
||||
(case arg0
|
||||
@@ -3270,12 +3257,7 @@
|
||||
(quaternion-copy! (-> self control unknown-quat39) (-> self control quat))
|
||||
(quaternion-copy! (-> self control unknown-quat40) (-> self control quat-for-control))
|
||||
(set! (-> self control unknown-word04) (the-as uint (-> self control draw-offset y)))
|
||||
(let* ((s2-0 (handle->process arg0))
|
||||
(s3-0 (if (type? s2-0 process-drawable)
|
||||
(the-as process-drawable s2-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-0 (as-type (handle->process arg0) process-drawable)))
|
||||
(when s3-0
|
||||
(vector-copy! s5-0 (-> s3-0 root trans))
|
||||
(quaternion-copy! (-> self control unknown-quat40) (-> s3-0 root quat))
|
||||
@@ -3303,12 +3285,7 @@
|
||||
)
|
||||
(ja-no-eval :group! s3-2 :num! (seek! (ja-aframe f30-0 0)) :frame-num 0.0)
|
||||
(until (ja-done? 0)
|
||||
(let* ((s3-3 (handle->process arg0))
|
||||
(v1-66 (if (type? s3-3 process-drawable)
|
||||
(the-as process-drawable s3-3)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-66 (as-type (handle->process arg0) process-drawable)))
|
||||
(when v1-66
|
||||
(vector-copy! s5-0 (-> v1-66 root trans))
|
||||
(vector-copy! (-> self control unknown-vector38) s5-0)
|
||||
|
||||
+13
-79
@@ -181,12 +181,7 @@
|
||||
(a0-4 (the-as process #f))
|
||||
)
|
||||
(when (handle->process (-> arg0 desired-target))
|
||||
(let ((s4-0 (handle->process (-> arg0 desired-target))))
|
||||
(set! a0-4 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! a0-4 (as-type (handle->process (-> arg0 desired-target)) process-focusable))
|
||||
(if a0-4
|
||||
(set! s5-0 #t)
|
||||
)
|
||||
@@ -564,19 +559,9 @@
|
||||
(set! (-> sv-1280 w) 163840.0)
|
||||
(let ((gp-0 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s5-0 (fill-actor-list-for-box *actor-hash* sv-1280 gp-0 384))
|
||||
(let* ((s4-0 (-> gp-0 s5-0))
|
||||
(v1-16 (if (type? s4-0 collide-shape)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-16 (as-type (-> gp-0 s5-0) collide-shape)))
|
||||
(when v1-16
|
||||
(let* ((s3-0 (-> v1-16 process))
|
||||
(s4-1 (if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-1 (as-type (-> v1-16 process) process-focusable)))
|
||||
(when s4-1
|
||||
(when (and (!= *target* s4-1)
|
||||
(!= sv-1300 s4-1)
|
||||
@@ -637,12 +622,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s5-1 *target*)
|
||||
(gp-1 (if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-1 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and gp-1 (< (vector-vector-distance (get-trans gp-1 0) sv-1280) (-> sv-1280 w)))
|
||||
(when (and (!= *target* gp-1)
|
||||
(!= sv-1300 gp-1)
|
||||
@@ -741,20 +721,9 @@
|
||||
)
|
||||
(let ((s4-6 (new 'stack-no-clear 'vector)))
|
||||
(vector-copy! s4-6 gp-2)
|
||||
(when s5-7
|
||||
(let ((s3-6 s4-6)
|
||||
(s2-3 s5-7)
|
||||
)
|
||||
(vector-copy! s3-6 (get-trans
|
||||
(the-as process-focusable (if (type? s2-3 process-focusable)
|
||||
(the-as process-focusable s2-3)
|
||||
)
|
||||
)
|
||||
3
|
||||
)
|
||||
)
|
||||
(if s5-7
|
||||
(vector-copy! s4-6 (get-trans (the-as process-focusable (as-type s5-7 process-focusable)) 3))
|
||||
)
|
||||
)
|
||||
(let ((s3-7 (vector-rotate-y! (new 'stack-no-clear 'vector) (-> sv-144 fire-dir-out) 2730.6667))
|
||||
(v1-174 (vector-rotate-y! (new 'stack-no-clear 'vector) (-> sv-144 fire-dir-out) -2730.6667))
|
||||
(a0-114 (vector-! (new 'stack-no-clear 'vector) s4-6 (-> sv-144 fire-point)))
|
||||
@@ -2036,19 +2005,9 @@
|
||||
(set! (-> sv-40 w) 0.0)
|
||||
(let ((s4-0 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s3-0 (fill-actor-list-for-box *actor-hash* arg0 s4-0 384))
|
||||
(let* ((s2-0 (-> s4-0 s3-0))
|
||||
(a0-5 (if (type? s2-0 collide-shape)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-5 (as-type (-> s4-0 s3-0) collide-shape)))
|
||||
(when a0-5
|
||||
(let* ((s1-0 (-> a0-5 process))
|
||||
(s2-1 (if (type? s1-0 process-focusable)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s2-1 (as-type (-> a0-5 process) process-focusable)))
|
||||
(when s2-1
|
||||
(when (is-valid-blue-2-target (the-as process-focusable s2-1) arg1)
|
||||
(let* ((s1-2 (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable s2-1) 3) sv-40))
|
||||
@@ -2066,12 +2025,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s3-1 *target*)
|
||||
(s4-1 (if (type? s3-1 process-focusable)
|
||||
s3-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-1 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s4-1 (< (vector-vector-distance (get-trans s4-1 0) arg0) (-> arg0 w)))
|
||||
(when (is-valid-blue-2-target s4-1 arg1)
|
||||
(let* ((gp-2 (vector-! (new 'stack-no-clear 'vector) (get-trans s4-1 3) sv-40))
|
||||
@@ -2102,19 +2056,9 @@
|
||||
(set! (-> sv-40 w) 1.0)
|
||||
(let ((s3-0 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s2-0 (fill-actor-list-for-box *actor-hash* arg0 s3-0 384))
|
||||
(let* ((s1-0 (-> s3-0 s2-0))
|
||||
(a0-5 (if (type? s1-0 collide-shape)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-5 (as-type (-> s3-0 s2-0) collide-shape)))
|
||||
(when a0-5
|
||||
(let* ((s0-0 (-> a0-5 process))
|
||||
(s1-1 (if (type? s0-0 process-focusable)
|
||||
s0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-1 (as-type (-> a0-5 process) process-focusable)))
|
||||
(when s1-1
|
||||
(when (is-valid-blue-2-target (the-as process-focusable s1-1) arg1)
|
||||
(let* ((s0-2 (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable s1-1) 3) sv-40))
|
||||
@@ -2135,12 +2079,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s2-1 *target*)
|
||||
(s3-1 (if (type? s2-1 process-focusable)
|
||||
s2-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-1 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s3-1 (< (vector-vector-distance (get-trans s3-1 0) arg0) (-> arg0 w)))
|
||||
(when (is-valid-blue-2-target s3-1 arg1)
|
||||
(let* ((s5-2 (vector-! (new 'stack-no-clear 'vector) (get-trans s3-1 3) sv-40))
|
||||
@@ -2497,12 +2436,7 @@
|
||||
(when (and (handle->process (-> *gun-blue-2-targets* gp-0 target))
|
||||
(not (time-elapsed? (-> *gun-blue-2-targets* gp-0 start-time) (seconds 0.5)))
|
||||
)
|
||||
(let* ((s2-0 (handle->process (-> *gun-blue-2-targets* gp-0 target)))
|
||||
(s3-0 (if (type? s2-0 process-focusable)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-0 (as-type (handle->process (-> *gun-blue-2-targets* gp-0 target)) process-focusable)))
|
||||
(when (is-valid-blue-2-target (the-as process-focusable s3-0) sv-784)
|
||||
(let ((s2-2 (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable s3-0) 3) sv-852)))
|
||||
(vector-normalize-ret-len! s2-2 1.0)
|
||||
|
||||
+66
-241
@@ -886,19 +886,9 @@
|
||||
(set! (-> s4-0 w) 1228800.0)
|
||||
(let ((s3-0 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s2-0 (fill-actor-list-for-box *actor-hash* s4-0 s3-0 384))
|
||||
(let* ((s1-0 (-> s3-0 s2-0))
|
||||
(v1-5 (if (type? s1-0 collide-shape)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-5 (as-type (-> s3-0 s2-0) collide-shape)))
|
||||
(when v1-5
|
||||
(let* ((s0-0 (-> v1-5 process))
|
||||
(s1-1 (if (type? s0-0 process-focusable)
|
||||
s0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-1 (as-type (-> v1-5 process) process-focusable)))
|
||||
(when s1-1
|
||||
(when (and (!= *target* s1-1)
|
||||
(not (focus-test? (the-as process-focusable s1-1) disable dead inactive))
|
||||
@@ -934,12 +924,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s2-1 *target*)
|
||||
(s3-1 (if (type? s2-1 process-focusable)
|
||||
s2-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-1 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s3-1 (< (vector-vector-distance (get-trans s3-1 0) s4-0) (-> s4-0 w)))
|
||||
(when (and (!= *target* s3-1)
|
||||
(not (focus-test? s3-1 disable dead inactive))
|
||||
@@ -1801,20 +1786,11 @@
|
||||
(let ((s5-0 (new 'stack-no-clear 'matrix)))
|
||||
(let ((s4-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-normalize-copy! s4-0 (-> self core-velocity) 1.0)
|
||||
(let* ((s3-0 (handle->process (-> self track-target)))
|
||||
(s2-0 (if (type? s3-0 process-drawable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s2-0 (as-type (handle->process (-> self track-target)) process-drawable)))
|
||||
(when s2-0
|
||||
(let ((s3-1 (new 'stack-no-clear 'vector)))
|
||||
(vector-copy! s3-1 (-> (the-as process-focusable s2-0) root trans))
|
||||
(let ((a0-6 (if (type? s2-0 process-focusable)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (as-type s2-0 process-focusable)))
|
||||
(if a0-6
|
||||
(vector-copy! s3-1 (get-trans (the-as process-focusable a0-6) 3))
|
||||
)
|
||||
@@ -2147,19 +2123,9 @@
|
||||
(set! (-> s4-0 w) (-> self blast-radius))
|
||||
(let ((s3-0 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s2-0 (fill-actor-list-for-box *actor-hash* s4-0 s3-0 384))
|
||||
(let* ((s1-0 (-> s3-0 s2-0))
|
||||
(v1-66 (if (type? s1-0 collide-shape)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-66 (as-type (-> s3-0 s2-0) collide-shape)))
|
||||
(when v1-66
|
||||
(let* ((s0-0 (-> v1-66 process))
|
||||
(s1-1 (if (type? s0-0 process-focusable)
|
||||
s0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-1 (as-type (-> v1-66 process) process-focusable)))
|
||||
(when s1-1
|
||||
(when (and (nonzero? (-> (the-as process-focusable s1-1) root root-prim prim-core collide-as))
|
||||
(logtest? (process-mask crate enemy guard vehicle civilian kg-robot metalhead) (-> s1-1 mask))
|
||||
@@ -2196,12 +2162,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s2-1 *target*)
|
||||
(s3-1 (if (type? s2-1 process-focusable)
|
||||
s2-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-1 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s3-1 (< (vector-vector-distance (get-trans s3-1 0) s4-0) (-> s4-0 w)))
|
||||
(when (and (nonzero? (-> s3-1 control root-prim prim-core collide-as))
|
||||
(logtest? (process-mask crate enemy guard vehicle civilian kg-robot metalhead) (-> s3-1 mask))
|
||||
@@ -2242,22 +2203,9 @@
|
||||
)
|
||||
(let ((gp-4 (handle->process (-> self result-array 0))))
|
||||
(deal-damage! self gp-4 (the-as event-message-block #f))
|
||||
(let ((s5-3 gp-4))
|
||||
(if (or (if (type? s5-3 crate)
|
||||
s5-3
|
||||
)
|
||||
(let ((s5-4 gp-4))
|
||||
(if (type? s5-4 market-object)
|
||||
s5-4
|
||||
)
|
||||
)
|
||||
(if (type? gp-4 fruit-stand)
|
||||
gp-4
|
||||
)
|
||||
)
|
||||
(process-spawn gun-dark-shot :init gun-dark-shot-init-fizzle (-> self root trans) :name "gun-dark-shot")
|
||||
)
|
||||
)
|
||||
(if (or (as-type gp-4 crate) (as-type gp-4 market-object) (as-type gp-4 fruit-stand))
|
||||
(process-spawn gun-dark-shot :init gun-dark-shot-init-fizzle (-> self root trans) :name "gun-dark-shot")
|
||||
)
|
||||
)
|
||||
)
|
||||
:trans (behavior ()
|
||||
@@ -2279,15 +2227,11 @@
|
||||
process
|
||||
(lambda :behavior process
|
||||
((arg0 handle) (arg1 float))
|
||||
(let* ((s3-0 (ppointer->process (-> self parent)))
|
||||
(s5-0 (if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
(s2-0 0)
|
||||
(s1-0 (current-time))
|
||||
(s3-1 #f)
|
||||
)
|
||||
(let ((s5-0 (as-type (ppointer->process (-> self parent)) process-focusable))
|
||||
(s2-0 0)
|
||||
(s1-0 (current-time))
|
||||
(s3-1 #f)
|
||||
)
|
||||
(+! (-> self clock ref-count) -1)
|
||||
(+! (-> s5-0 clock ref-count) 1)
|
||||
(set! (-> self clock) (-> s5-0 clock))
|
||||
@@ -2332,12 +2276,7 @@
|
||||
)
|
||||
)
|
||||
(suspend)
|
||||
(let ((s5-1 (ppointer->process (-> self parent))))
|
||||
(set! s5-0 (if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s5-0 (as-type (ppointer->process (-> self parent)) process-focusable))
|
||||
(when (and (not s3-1) (time-elapsed? s1-0 (seconds 0.1)) (!= s5-0 (handle->process arg0)))
|
||||
(set! s3-1 #t)
|
||||
(send-event
|
||||
@@ -2460,12 +2399,7 @@
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod spawn-part ((this gravity-spinner))
|
||||
(when (zero? (mod (the-as int (rand-uint31-gen *random-generator*)) 5))
|
||||
(let* ((s5-0 (handle->process (-> this parent-hand)))
|
||||
(gp-1 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-1 (as-type (handle->process (-> this parent-hand)) process-focusable)))
|
||||
(when gp-1
|
||||
(when (and (-> (the-as process-focusable gp-1) node-list) (nonzero? (-> (the-as process-focusable gp-1) node-list)))
|
||||
(let* ((v1-12
|
||||
@@ -2509,12 +2443,7 @@
|
||||
(vf5 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(let* ((gp-0 (handle->process (-> this parent-hand)))
|
||||
(s3-0 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-0 (as-type (handle->process (-> this parent-hand)) process-focusable)))
|
||||
(when s3-0
|
||||
(let* ((gp-1 (-> (the-as process-focusable s3-0) root))
|
||||
(s5-0 (-> gp-1 root-prim))
|
||||
@@ -2551,12 +2480,7 @@
|
||||
|
||||
;; definition for method 21 of type gravity-spinner
|
||||
(defmethod get-float-speed ((this gravity-spinner))
|
||||
(let* ((s4-0 (handle->process (-> this parent-hand)))
|
||||
(s5-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (as-type (handle->process (-> this parent-hand)) process-focusable)))
|
||||
(when s5-0
|
||||
(let ((f0-2 (- (- (-> (get-trans (the-as process-focusable s5-0) 3) y)
|
||||
(-> (the-as process-focusable s5-0) root root-prim local-sphere w)
|
||||
@@ -2591,12 +2515,7 @@
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch float vs none.
|
||||
(defmethod probe-ground ((this gravity-spinner))
|
||||
(let* ((s4-0 (handle->process (-> this parent-hand)))
|
||||
(s5-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (as-type (handle->process (-> this parent-hand)) process-focusable)))
|
||||
(when s5-0
|
||||
(let ((s4-1 (get-trans (the-as process-focusable s5-0) 3))
|
||||
(s3-0 (new 'stack-no-clear 'collide-query))
|
||||
@@ -2641,12 +2560,7 @@
|
||||
(set! (-> self time-subtract) arg2)
|
||||
(set! (-> self cached-damage) 0.0)
|
||||
(set! (-> self was-hit-previously?) #f)
|
||||
(let* ((s5-1 (handle->process (-> self parent-hand)))
|
||||
(gp-1 (if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-1 (as-type (handle->process (-> self parent-hand)) process-focusable)))
|
||||
(when gp-1
|
||||
(set! (-> self original-sphere-offset quad)
|
||||
(-> (the-as process-focusable gp-1) root root-prim local-sphere quad)
|
||||
@@ -2764,12 +2678,7 @@
|
||||
(sv-2308 vector)
|
||||
(sv-2312 float)
|
||||
)
|
||||
(let* ((s3-0 (handle->process (-> this parent-hand)))
|
||||
(s5-0 (if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (as-type (handle->process (-> this parent-hand)) process-focusable)))
|
||||
(when s5-0
|
||||
(set! sv-144 (new 'stack 'sphere))
|
||||
(set! sv-148 (the-as process (send-event *target* 'get-vehicle)))
|
||||
@@ -2790,19 +2699,9 @@
|
||||
(set! (-> sv-144 r) sv-160)
|
||||
(let ((s3-2 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s2-0 (fill-actor-list-for-box *actor-hash* sv-144 s3-2 384))
|
||||
(let* ((s1-0 (-> s3-2 s2-0))
|
||||
(a0-15 (if (type? s1-0 collide-shape)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-15 (as-type (-> s3-2 s2-0) collide-shape)))
|
||||
(when a0-15
|
||||
(let* ((s1-1 (-> a0-15 process))
|
||||
(a0-17 (if (type? s1-1 process-focusable)
|
||||
s1-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-17 (as-type (-> a0-15 process) process-focusable)))
|
||||
(when a0-17
|
||||
(when (and (!= s5-0 a0-17)
|
||||
(not (focus-test? (the-as process-focusable a0-17) disable dead inactive gun-no-target))
|
||||
@@ -2860,12 +2759,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s2-1 *target*)
|
||||
(s3-3 (if (type? s2-1 process-focusable)
|
||||
s2-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-3 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s3-3 (< (vector-vector-distance (get-trans s3-3 0) sv-144) (-> sv-144 r)))
|
||||
(when (and (!= s5-0 s3-3)
|
||||
(not (focus-test? s3-3 disable dead inactive gun-no-target))
|
||||
@@ -2933,12 +2827,7 @@
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod gravity-spinner-method-16 ((this gravity-spinner) (arg0 vector) (arg1 vector))
|
||||
(local-vars (sv-48 vector) (sv-52 vector) (sv-56 float))
|
||||
(let* ((s2-0 (handle->process (-> this parent-hand)))
|
||||
(s4-0 (if (type? s2-0 process-focusable)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-0 (as-type (handle->process (-> this parent-hand)) process-focusable)))
|
||||
(when s4-0
|
||||
(set! sv-48 (vector-! (new 'stack-no-clear 'vector) arg0 (get-trans (the-as process-focusable s4-0) 3)))
|
||||
(set! sv-52 (new 'stack-no-clear 'vector))
|
||||
@@ -2959,12 +2848,7 @@
|
||||
;; definition for method 24 of type gravity-spinner
|
||||
;; WARN: Return type mismatch quaternion vs none.
|
||||
(defmethod rotate! ((this gravity-spinner) (arg0 quaternion))
|
||||
(let* ((s4-0 (handle->process (-> this parent-hand)))
|
||||
(s5-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (as-type (handle->process (-> this parent-hand)) process-focusable)))
|
||||
(when s5-0
|
||||
(let* ((s4-1 (get-trans (the-as process-focusable s5-0) 3))
|
||||
(s3-1 (vector-! (new 'stack-no-clear 'vector) (-> (the-as process-focusable s5-0) root trans) s4-1))
|
||||
@@ -3003,11 +2887,8 @@
|
||||
(f0-3 (* 360.0 f0-2))
|
||||
(f0-4 (/ f0-3 5))
|
||||
(f30-0 (fmin 116508.445 f0-4))
|
||||
(s4-0 (handle->process (-> this parent-hand)))
|
||||
)
|
||||
(if (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
(if (as-type (handle->process (-> this parent-hand)) process-focusable)
|
||||
(rotate! this (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) s5-1 (* f30-0 (seconds-per-frame))))
|
||||
)
|
||||
)
|
||||
@@ -3017,12 +2898,7 @@
|
||||
)
|
||||
)
|
||||
(else
|
||||
(let* ((s3-1 (handle->process (-> this parent-hand)))
|
||||
(s4-2 (if (type? s3-1 process-focusable)
|
||||
s3-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-2 (as-type (handle->process (-> this parent-hand)) process-focusable)))
|
||||
(when s4-2
|
||||
(let ((s2-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as process-focusable s4-2) root quat)))
|
||||
(s3-2 (new 'stack-no-clear 'quaternion))
|
||||
@@ -3109,27 +2985,23 @@
|
||||
)
|
||||
(send-event (handle->process (-> self parent-hand)) 'gun-dark-2-off f0-2)
|
||||
)
|
||||
(let ((gp-0 (handle->process (-> self parent-hand))))
|
||||
(if (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(send-event
|
||||
(handle->process (-> self parent-hand))
|
||||
'attack
|
||||
#f
|
||||
(static-attack-info :mask (vehicle-impulse-factor) ((id (new-attack-id))
|
||||
(damage 0.0)
|
||||
(vehicle-damage-factor 1.0)
|
||||
(vehicle-impulse-factor 1.0)
|
||||
(penetrate-using (penetrate vehicle))
|
||||
(vector *zero-vector*)
|
||||
(attacker-velocity *zero-vector*)
|
||||
(mode 'gravity-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (as-type (handle->process (-> self parent-hand)) process-focusable)
|
||||
(send-event
|
||||
(handle->process (-> self parent-hand))
|
||||
'attack
|
||||
#f
|
||||
(static-attack-info :mask (vehicle-impulse-factor) ((id (new-attack-id))
|
||||
(damage 0.0)
|
||||
(vehicle-damage-factor 1.0)
|
||||
(vehicle-impulse-factor 1.0)
|
||||
(penetrate-using (penetrate vehicle))
|
||||
(vector *zero-vector*)
|
||||
(attacker-velocity *zero-vector*)
|
||||
(mode 'gravity-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -3138,12 +3010,7 @@
|
||||
;; WARN: Return type mismatch int vs object.
|
||||
(defbehavior zero-g-wait-for-land gravity-spinner ()
|
||||
(suspend-for (seconds 1.5)
|
||||
(let* ((s4-0 (handle->process (-> self parent-hand)))
|
||||
(s5-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (as-type (handle->process (-> self parent-hand)) process-focusable)))
|
||||
(cond
|
||||
((and s5-0
|
||||
(not (logtest? (-> (the-as process-focusable s5-0) focus-status) (focus-status disable dead inactive)))
|
||||
@@ -3153,15 +3020,11 @@
|
||||
)
|
||||
(-> self ground-height)
|
||||
)
|
||||
(let ((s4-1 (-> (the-as process-focusable s5-0) root)))
|
||||
(and (if (type? s4-1 collide-shape-moving)
|
||||
s4-1
|
||||
)
|
||||
(logtest? (-> (the-as collide-shape-moving (-> (the-as process-focusable s5-0) root)) status)
|
||||
(collide-status on-surface touch-surface)
|
||||
)
|
||||
)
|
||||
)
|
||||
(and (as-type (-> (the-as process-focusable s5-0) root) collide-shape-moving)
|
||||
(logtest? (-> (the-as collide-shape-moving (-> (the-as process-focusable s5-0) root)) status)
|
||||
(collide-status on-surface touch-surface)
|
||||
)
|
||||
)
|
||||
)
|
||||
(return (the-as object 0))
|
||||
)
|
||||
@@ -3215,17 +3078,13 @@
|
||||
)
|
||||
(('impact)
|
||||
(handle-impact self #f)
|
||||
(let ((s5-1 (handle->process (-> self parent-hand))))
|
||||
(when (if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
(let ((f0-0 (vector-length (the-as vector (-> block param 1)))))
|
||||
0.0
|
||||
(when (< 40960.0 f0-0)
|
||||
(let ((f30-0 (/ f0-0 (meters 10))))
|
||||
(format 0 "Receving impact damage ~f~%" f30-0)
|
||||
(+! (-> self cached-damage) f30-0)
|
||||
)
|
||||
(when (as-type (handle->process (-> self parent-hand)) process-focusable)
|
||||
(let ((f0-0 (vector-length (the-as vector (-> block param 1)))))
|
||||
0.0
|
||||
(when (< 40960.0 f0-0)
|
||||
(let ((f30-0 (/ f0-0 (meters 10))))
|
||||
(format 0 "Receving impact damage ~f~%" f30-0)
|
||||
(+! (-> self cached-damage) f30-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -3254,11 +3113,7 @@
|
||||
)
|
||||
(set! (-> sv-32 y) (* 0.15 (-> sv-32 y)))
|
||||
(+! (-> self cached-damage) sv-36)
|
||||
(let ((s4-0 (if (type? proc process-focusable)
|
||||
proc
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-0 (as-type proc process-focusable)))
|
||||
(when s4-0
|
||||
(vector-float*! sv-32 sv-32 (fmax 0.5 (gravity-spinner-method-18 self s4-0)))
|
||||
(vector+float*!
|
||||
@@ -3338,12 +3193,7 @@
|
||||
(suspend)
|
||||
)
|
||||
(send-event (handle->process (-> self parent-hand)) 'gun-dark-2-off)
|
||||
(let* ((s5-0 (handle->process (-> self parent-hand)))
|
||||
(gp-0 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (as-type (handle->process (-> self parent-hand)) process-focusable)))
|
||||
(when gp-0
|
||||
(update-rotation self #t)
|
||||
(quaternion-normalize! (-> (the-as process-focusable gp-0) root quat))
|
||||
@@ -3381,12 +3231,7 @@
|
||||
(+! (-> self cached-damage) f0-7)
|
||||
)
|
||||
)
|
||||
(let* ((gp-1 (-> (the-as process-focusable gp-0) root))
|
||||
(v1-37 (if (type? gp-1 collide-shape-moving)
|
||||
gp-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-37 (as-type (-> (the-as process-focusable gp-0) root) collide-shape-moving)))
|
||||
(if v1-37
|
||||
(logclear! (-> (the-as collide-shape-moving v1-37) status) (collide-status on-surface touch-surface))
|
||||
)
|
||||
@@ -3411,12 +3256,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s5-1 (handle->process (-> self parent-hand)))
|
||||
(gp-2 (if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-2 (as-type (handle->process (-> self parent-hand)) process-focusable)))
|
||||
(when gp-2
|
||||
(vector-copy!
|
||||
(-> (the-as process-focusable gp-2) root root-prim local-sphere)
|
||||
@@ -3953,19 +3793,9 @@
|
||||
(set! (-> s5-0 w) f28-0)
|
||||
(let ((s3-1 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s2-0 (fill-actor-list-for-box *actor-hash* s5-0 s3-1 384))
|
||||
(let* ((s1-0 (-> s3-1 s2-0))
|
||||
(v1-17 (if (type? s1-0 collide-shape)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-17 (as-type (-> s3-1 s2-0) collide-shape)))
|
||||
(when v1-17
|
||||
(let* ((s0-0 (-> v1-17 process))
|
||||
(s1-1 (if (type? s0-0 process-focusable)
|
||||
s0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-1 (as-type (-> v1-17 process) process-focusable)))
|
||||
(when s1-1
|
||||
(when (and (!= *target* s1-1)
|
||||
(not (focus-test? (the-as process-focusable s1-1) disable dead inactive))
|
||||
@@ -3997,12 +3827,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s2-1 *target*)
|
||||
(s3-2 (if (type? s2-1 process-focusable)
|
||||
s2-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-2 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s3-2 (< (vector-vector-distance (get-trans s3-2 0) s5-0) (-> s5-0 w)))
|
||||
(when (and (!= *target* s3-2)
|
||||
(not (focus-test? s3-2 disable dead inactive))
|
||||
|
||||
+16
-85
@@ -271,19 +271,9 @@
|
||||
(set! (-> s5-0 w) (-> this blast-radius))
|
||||
(let ((s3-0 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s2-0 (fill-actor-list-for-box *actor-hash* s5-0 s3-0 384))
|
||||
(let* ((s1-0 (-> s3-0 s2-0))
|
||||
(a0-8 (if (type? s1-0 collide-shape)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-8 (as-type (-> s3-0 s2-0) collide-shape)))
|
||||
(when a0-8
|
||||
(let* ((s0-0 (-> a0-8 process))
|
||||
(s1-1 (if (type? s0-0 process-focusable)
|
||||
s0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-1 (as-type (-> a0-8 process) process-focusable)))
|
||||
(when s1-1
|
||||
(when (and (!= s4-0 s1-1)
|
||||
(not (focus-test? (the-as process-focusable s1-1) disable dead inactive))
|
||||
@@ -331,12 +321,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s2-1 *target*)
|
||||
(s3-1 (if (type? s2-1 process-focusable)
|
||||
s2-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-1 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s3-1 (< (vector-vector-distance (get-trans s3-1 0) s5-0) (-> s5-0 w)))
|
||||
(when (and (!= s4-0 s3-1)
|
||||
(not (focus-test? s3-1 disable dead inactive))
|
||||
@@ -411,19 +396,9 @@
|
||||
(set! (-> s4-0 w) (* 0.6666667 (-> this blast-radius)))
|
||||
(let ((s2-0 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s1-0 (fill-actor-list-for-box *actor-hash* s4-0 s2-0 384))
|
||||
(let* ((s0-0 (-> s2-0 s1-0))
|
||||
(a0-8 (if (type? s0-0 collide-shape)
|
||||
s0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-8 (as-type (-> s2-0 s1-0) collide-shape)))
|
||||
(when a0-8
|
||||
(let* ((s0-1 (-> a0-8 process))
|
||||
(a0-10 (if (type? s0-1 process-focusable)
|
||||
s0-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-10 (as-type (-> a0-8 process) process-focusable)))
|
||||
(when a0-10
|
||||
(when (and (!= s3-0 a0-10)
|
||||
(not (focus-test? (the-as process-focusable a0-10) disable dead inactive gun-no-target))
|
||||
@@ -464,12 +439,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s1-1 *target*)
|
||||
(s2-1 (if (type? s1-1 process-focusable)
|
||||
s1-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s2-1 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s2-1 (< (vector-vector-distance (get-trans s2-1 0) s4-0) (-> s4-0 w)))
|
||||
(when (and (!= s3-0 s2-1)
|
||||
(not (focus-test? s2-1 disable dead inactive gun-no-target))
|
||||
@@ -782,19 +752,9 @@
|
||||
(set! (-> sv-32 w) (-> this current-radius))
|
||||
(let ((s5-0 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s4-0 (fill-actor-list-for-box *actor-hash* sv-32 s5-0 384))
|
||||
(let* ((s3-0 (-> s5-0 s4-0))
|
||||
(v1-6 (if (type? s3-0 collide-shape)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-6 (as-type (-> s5-0 s4-0) collide-shape)))
|
||||
(when v1-6
|
||||
(let* ((s2-0 (-> v1-6 process))
|
||||
(s3-1 (if (type? s2-0 process-focusable)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-1 (as-type (-> v1-6 process) process-focusable)))
|
||||
(when s3-1
|
||||
(when (and (!= *target* s3-1)
|
||||
(not (focus-test? (the-as process-focusable s3-1) disable dead inactive))
|
||||
@@ -872,12 +832,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s4-1 *target*)
|
||||
(s5-1 (if (type? s4-1 process-focusable)
|
||||
s4-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-1 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s5-1 (< (vector-vector-distance (get-trans s5-1 0) sv-32) (-> sv-32 w)))
|
||||
(when (and (!= *target* s5-1)
|
||||
(not (focus-test? s5-1 disable dead inactive))
|
||||
@@ -2015,19 +1970,9 @@
|
||||
(let ((s4-0 (send-event-function *target* a1-11)))
|
||||
(let ((s3-0 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s2-0 (fill-actor-list-for-box *actor-hash* sv-144 s3-0 384))
|
||||
(let* ((s1-0 (-> s3-0 s2-0))
|
||||
(v1-54 (if (type? s1-0 collide-shape)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-54 (as-type (-> s3-0 s2-0) collide-shape)))
|
||||
(when v1-54
|
||||
(let* ((s0-0 (-> v1-54 process))
|
||||
(s1-1 (if (type? s0-0 process-focusable)
|
||||
s0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-1 (as-type (-> v1-54 process) process-focusable)))
|
||||
(when s1-1
|
||||
(when (and (!= *target* s1-1)
|
||||
(not (focus-test? (the-as process-focusable s1-1) disable dead inactive gun-no-target))
|
||||
@@ -2080,12 +2025,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s2-1 *target*)
|
||||
(s3-1 (if (type? s2-1 process-focusable)
|
||||
s2-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-1 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s3-1 (< (vector-vector-distance (get-trans s3-1 0) sv-144) (-> sv-144 w)))
|
||||
(when (and (!= *target* s3-1)
|
||||
(not (focus-test? s3-1 disable dead inactive gun-no-target))
|
||||
@@ -2450,12 +2390,7 @@
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod send-attack! ((this gun-red-shot) (arg0 process-drawable) (arg1 touching-shapes-entry))
|
||||
(let* ((s5-0 arg0)
|
||||
(v1-0 (if (type? s5-0 process-drawable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-0 (as-type arg0 process-drawable)))
|
||||
(when v1-0
|
||||
(let* ((s5-2 (vector-! (new 'stack-no-clear 'vector) (-> v1-0 root trans) (-> this start-pos)))
|
||||
(f30-0 (* (if (< (vector-length s5-2) 24576.0)
|
||||
@@ -2526,13 +2461,9 @@
|
||||
(defmethod init-probes! ((this gun-red-shot) (arg0 collide-shape))
|
||||
(let ((s5-0 (-> this probe-count)))
|
||||
(when (< s5-0 19)
|
||||
(let* ((s4-0 (-> arg0 process))
|
||||
(a0-2 (if (type? s4-0 process-focusable)
|
||||
(the-as process-focusable s4-0)
|
||||
)
|
||||
)
|
||||
(s4-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(let ((a0-2 (as-type (-> arg0 process) process-focusable))
|
||||
(s4-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(if a0-2
|
||||
(vector-copy! s4-1 (get-trans a0-2 3))
|
||||
(vector-copy! s4-1 (-> arg0 root-prim prim-core world-sphere))
|
||||
|
||||
+4
-8
@@ -1047,14 +1047,10 @@
|
||||
((>= f0-3 0.0)
|
||||
(vector+float*! (-> s4-0 start-pos) (-> s4-0 start-pos) (-> s4-0 move-dist) f0-3)
|
||||
(vector+float*! (-> s4-0 start-pos) (-> s4-0 start-pos) s3-0 (-> this track-beam-size))
|
||||
(let* ((s2-0 (-> s4-0 best-other-tri collide-ptr))
|
||||
(s0-0 (if (type? s2-0 collide-shape-prim)
|
||||
(the-as collide-shape-prim s2-0)
|
||||
)
|
||||
)
|
||||
(s1-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) s5-0 (-> s4-0 start-pos)) 1638.4))
|
||||
(s2-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(let ((s0-0 (as-type (-> s4-0 best-other-tri collide-ptr) collide-shape-prim))
|
||||
(s1-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) s5-0 (-> s4-0 start-pos)) 1638.4))
|
||||
(s2-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(vector-copy! s2-1 (-> s4-0 start-pos))
|
||||
(cond
|
||||
((and s0-0
|
||||
|
||||
+9
-51
@@ -322,19 +322,9 @@
|
||||
(set! (-> sv-1072 w) 143360.0)
|
||||
(let ((s5-0 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s4-0 (fill-actor-list-for-box *actor-hash* sv-1072 s5-0 384))
|
||||
(let* ((s3-0 (-> s5-0 s4-0))
|
||||
(v1-34 (if (type? s3-0 collide-shape)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-34 (as-type (-> s5-0 s4-0) collide-shape)))
|
||||
(when v1-34
|
||||
(let* ((s2-0 (-> v1-34 process))
|
||||
(s3-1 (if (type? s2-0 process-focusable)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-1 (as-type (-> v1-34 process) process-focusable)))
|
||||
(when s3-1
|
||||
(when (and (!= *target* s3-1)
|
||||
(not (focus-test? (the-as process-focusable s3-1) disable dead inactive gun-no-target))
|
||||
@@ -380,12 +370,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s4-1 *target*)
|
||||
(s5-1 (if (type? s4-1 process-focusable)
|
||||
s4-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-1 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s5-1 (< (vector-vector-distance (get-trans s5-1 0) sv-1072) (-> sv-1072 w)))
|
||||
(when (and (!= *target* s5-1)
|
||||
(not (focus-test? s5-1 disable dead inactive gun-no-target))
|
||||
@@ -455,11 +440,7 @@
|
||||
)
|
||||
)
|
||||
(dotimes (s5-3 sv-3800)
|
||||
(let* ((s4-4 (handle->process (-> sv-1076 (-> sv-3792 s5-3) targ)))
|
||||
(a0-95 (if (type? s4-4 process-focusable)
|
||||
s4-4
|
||||
)
|
||||
)
|
||||
(let* ((a0-95 (as-type (handle->process (-> sv-1076 (-> sv-3792 s5-3) targ)) process-focusable))
|
||||
(s4-5 this)
|
||||
(s3-4 (method-of-object s4-5 spawn-shot))
|
||||
(s2-2 (new 'stack-no-clear 'vector))
|
||||
@@ -1577,19 +1558,9 @@
|
||||
(set! sv-136 (the-as handle #f))
|
||||
(let ((s3-0 (new 'stack-no-clear 'array 'collide-shape 384)))
|
||||
(countdown (s2-0 (fill-actor-list-for-box *actor-hash* sv-84 s3-0 384))
|
||||
(let* ((s1-0 (-> s3-0 s2-0))
|
||||
(v1-31 (if (type? s1-0 collide-shape)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-31 (as-type (-> s3-0 s2-0) collide-shape)))
|
||||
(when v1-31
|
||||
(let* ((s0-0 (-> v1-31 process))
|
||||
(s1-1 (if (type? s0-0 process-focusable)
|
||||
s0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-1 (as-type (-> v1-31 process) process-focusable)))
|
||||
(when s1-1
|
||||
(when (and (!= s4-0 s1-1)
|
||||
(!= s1-1 sv-40)
|
||||
@@ -1623,12 +1594,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s2-1 *target*)
|
||||
(s3-1 (if (type? s2-1 process-focusable)
|
||||
s2-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-1 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and s3-1 (< (vector-vector-distance (get-trans s3-1 0) sv-84) (-> sv-84 w)))
|
||||
(when (and (!= s4-0 s3-1)
|
||||
(!= s3-1 sv-40)
|
||||
@@ -1681,17 +1647,9 @@
|
||||
(let ((s3-0 (the-as handle #f)))
|
||||
(when (and (nonzero? (-> arg1 best-other-tri collide-ptr))
|
||||
(-> arg1 best-other-tri collide-ptr)
|
||||
(let ((s1-0 (-> arg1 best-other-tri collide-ptr)))
|
||||
(if (type? s1-0 collide-shape-prim)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
(as-type (-> arg1 best-other-tri collide-ptr) collide-shape-prim)
|
||||
)
|
||||
(let* ((s2-1 (-> arg1 best-other-tri collide-ptr))
|
||||
(a0-4 (if (type? s2-1 collide-shape-prim)
|
||||
s2-1
|
||||
)
|
||||
)
|
||||
(let* ((a0-4 (as-type (-> arg1 best-other-tri collide-ptr) collide-shape-prim))
|
||||
(v1-4 a0-4)
|
||||
)
|
||||
(when v1-4
|
||||
|
||||
+1
-6
@@ -1425,12 +1425,7 @@
|
||||
:event target-standard-event-handler
|
||||
:exit target-indax-exit
|
||||
:trans (behavior ()
|
||||
(let* ((gp-0 (ppointer->process (-> self manipy)))
|
||||
(v1-2 (if (type? gp-0 manipy)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-2 (as-type (ppointer->process (-> self manipy)) manipy)))
|
||||
(cond
|
||||
((not (the-as manipy v1-2))
|
||||
(ja-channel-set! 0)
|
||||
|
||||
+3
-7
@@ -706,13 +706,9 @@
|
||||
(the-as pair 0)
|
||||
)
|
||||
(set! (-> self shadow-backup) #f)
|
||||
(let* ((s5-1 (ppointer->process (-> self parent)))
|
||||
(v1-6 (if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
(a0-6 (-> self node-list data))
|
||||
)
|
||||
(let ((v1-6 (as-type (ppointer->process (-> self parent)) process-focusable))
|
||||
(a0-6 (-> self node-list data))
|
||||
)
|
||||
(set! (-> a0-6 0 param0) (the-as (function cspace transformq none) cspace<-cspace-normalized!))
|
||||
(set! (-> a0-6 0 param1) (the-as basic (-> v1-6 node-list data 6)))
|
||||
(set! (-> a0-6 0 param2) #f)
|
||||
|
||||
+4
-24
@@ -111,12 +111,7 @@
|
||||
(set! (-> gp-0 max-distance) 8192.0)
|
||||
(vector-copy! (-> gp-0 local-point) arg2)
|
||||
(vector-copy! (-> gp-0 local-normal) arg3)
|
||||
(let* ((s5-1 (-> arg0 root))
|
||||
(v1-7 (if (type? s5-1 collide-shape)
|
||||
(the-as collide-shape s5-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-7 (as-type (-> arg0 root) collide-shape)))
|
||||
(when v1-7
|
||||
(set! (-> gp-0 backup-radius) (-> v1-7 root-prim local-sphere w))
|
||||
(set! (-> gp-0 carry-radius) (-> v1-7 root-prim local-sphere w))
|
||||
@@ -218,12 +213,7 @@
|
||||
(set! (-> this pickup-time) (-> this process 0 clock frame-counter))
|
||||
(set! (-> arg0 pickup-time) (-> arg0 process 0 clock frame-counter))
|
||||
(set! (-> arg0 grab-trans-blend) 1.0)
|
||||
(let* ((s4-0 (-> arg0 process 0 control))
|
||||
(v1-17 (if (type? s4-0 collide-shape)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-17 (the-as control-info (as-type (-> arg0 process 0 control) collide-shape))))
|
||||
(if v1-17
|
||||
(set! (-> v1-17 root-prim local-sphere w) (-> arg0 carry-radius))
|
||||
)
|
||||
@@ -300,12 +290,7 @@
|
||||
(set! (-> a1-2 y) 0.0)
|
||||
(set-heading-vec-clear-roll-pitch! (-> arg0 process 0 control) a1-2)
|
||||
)
|
||||
(let* ((s4-0 (-> arg0 process 0 control))
|
||||
(v1-9 (if (type? s4-0 collide-shape)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-9 (the-as control-info (as-type (-> arg0 process 0 control) collide-shape))))
|
||||
(if v1-9
|
||||
(set! (-> v1-9 root-prim local-sphere w) (-> arg0 backup-radius))
|
||||
)
|
||||
@@ -405,12 +390,7 @@
|
||||
(set! (-> this pickup-time) (-> this process 0 clock frame-counter))
|
||||
(set! (-> arg0 pickup-time) (-> arg0 process 0 clock frame-counter))
|
||||
(set! (-> arg0 grab-trans-blend) 1.0)
|
||||
(let* ((s2-0 (-> arg0 process 0 control))
|
||||
(v1-17 (if (type? s2-0 collide-shape)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-17 (the-as control-info (as-type (-> arg0 process 0 control) collide-shape))))
|
||||
(if v1-17
|
||||
(set! (-> v1-17 root-prim local-sphere w) (-> arg0 carry-radius))
|
||||
)
|
||||
|
||||
+10
-25
@@ -483,19 +483,14 @@
|
||||
(when (-> self control danger-mode)
|
||||
(-> block param 1)
|
||||
(let* ((gp-1 (the-as object (-> block param 3)))
|
||||
(s5-1 (-> (the-as collide-query gp-1) best-other-tri collide-ptr))
|
||||
(s4-1 (if (type? s5-1 collide-shape-prim)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
(s3-1 (if s4-1
|
||||
(-> (the-as collide-shape-prim s4-1) cshape process)
|
||||
(the-as process-drawable #f)
|
||||
)
|
||||
)
|
||||
(s5-2 (if (type? s3-1 process-focusable)
|
||||
s3-1
|
||||
)
|
||||
(s4-1 (as-type (-> (the-as collide-query gp-1) best-other-tri collide-ptr) collide-shape-prim))
|
||||
(s5-2 (as-type
|
||||
(if s4-1
|
||||
(-> (the-as collide-shape-prim s4-1) cshape process)
|
||||
(the-as process-drawable #f)
|
||||
)
|
||||
process-focusable
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (and s4-1 (and (or (and s5-2 (focus-test? (the-as process-focusable s5-2) dead))
|
||||
@@ -2467,12 +2462,7 @@
|
||||
(vector-copy! (-> self control unknown-vector38) (-> self control trans))
|
||||
(set! (-> self control unknown-quat39 quad) (-> self control quat quad))
|
||||
(set! (-> self control unknown-quat40 quad) (-> self control quat quad))
|
||||
(let* ((gp-1 (handle->process arg0))
|
||||
(v1-23 (if (type? gp-1 process-drawable)
|
||||
gp-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-23 (as-type (handle->process arg0) process-drawable)))
|
||||
(when v1-23
|
||||
(vector-copy! (-> self control unknown-vector38) (-> (the-as process-drawable v1-23) root trans))
|
||||
(set! (-> self control unknown-quat40 quad) (-> (the-as process-drawable v1-23) root quat quad))
|
||||
@@ -2535,12 +2525,7 @@
|
||||
(vector-copy! (-> self control unknown-vector38) (-> self control trans))
|
||||
(set! (-> self control unknown-quat39 quad) (-> self control quat quad))
|
||||
(set! (-> self control unknown-quat40 quad) (-> self control quat quad))
|
||||
(let* ((gp-1 (handle->process arg0))
|
||||
(v1-23 (if (type? gp-1 process-drawable)
|
||||
gp-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-23 (as-type (handle->process arg0) process-drawable)))
|
||||
(when v1-23
|
||||
(vector-copy! (-> self control unknown-vector38) (-> (the-as process-drawable v1-23) root trans))
|
||||
(set! (-> self control unknown-quat40 quad) (-> (the-as process-drawable v1-23) root quat quad))
|
||||
|
||||
+2
-6
@@ -163,12 +163,8 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 320 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-31 gp-0))
|
||||
(set! (-> v1-31 width) (the float 340))
|
||||
)
|
||||
(let ((v1-32 gp-0))
|
||||
(set! (-> v1-32 height) (the float 80))
|
||||
)
|
||||
(set-width! gp-0 340)
|
||||
(set-height! gp-0 80)
|
||||
(let ((v1-33 gp-0)
|
||||
(a0-19 (-> *setting-control* user-default language))
|
||||
)
|
||||
|
||||
+1
-5
@@ -69,11 +69,7 @@
|
||||
(ja-no-eval :group! (ja-group) :num! (loop!) :frame-num 0.0)
|
||||
(ja-post)
|
||||
(logior! (-> self draw status) (draw-control-status disable-fog))
|
||||
(let ((gp-1 (handle->process (-> arg0 owner))))
|
||||
(when (if (type? gp-1 process-focusable)
|
||||
gp-1
|
||||
)
|
||||
)
|
||||
(when (as-type (handle->process (-> arg0 owner)) process-focusable)
|
||||
)
|
||||
(set! (-> self event-hook) (-> (method-of-type shield-sphere shield-enabled) event))
|
||||
(init-and-go! self)
|
||||
|
||||
+4
-14
@@ -751,14 +751,9 @@
|
||||
:event target-standard-event-handler
|
||||
:exit target-pilot-exit
|
||||
:trans (behavior ()
|
||||
(let ((gp-0 (handle->process (-> self pilot vehicle))))
|
||||
(when (not (if (type? gp-0 vehicle)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
(ja-channel-set! 0)
|
||||
(go target-falling #f)
|
||||
)
|
||||
(when (not (as-type (handle->process (-> self pilot vehicle)) vehicle))
|
||||
(ja-channel-set! 0)
|
||||
(go target-falling #f)
|
||||
)
|
||||
)
|
||||
:code (behavior ((arg0 handle))
|
||||
@@ -933,12 +928,7 @@
|
||||
(vector-copy! (-> gp-0 pilot-start-grab-pos) (-> self control trans))
|
||||
(set! (-> gp-0 actor-handle) (-> arg0 handle))
|
||||
((-> target-edge-grab enter))
|
||||
(let* ((s5-1 (handle->process (-> gp-0 actor-handle)))
|
||||
(a0-9 (if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-9 (as-type (handle->process (-> gp-0 actor-handle)) process-focusable)))
|
||||
(set! (-> gp-0 pilot-edge-grab?)
|
||||
(if (and a0-9
|
||||
(< 24576.0 (fabs (- (-> (get-trans (the-as process-focusable a0-9) 0) y) (-> self control trans y))))
|
||||
|
||||
+2
-12
@@ -1447,12 +1447,7 @@
|
||||
)
|
||||
(send-event (handle->process (-> self control unknown-combo-tracker00 target)) 'combo)
|
||||
)
|
||||
(let* ((s5-0 (handle->process (-> self control unknown-combo-tracker00 target)))
|
||||
(gp-0 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (as-type (handle->process (-> self control unknown-combo-tracker00 target)) process-focusable)))
|
||||
(let ((s5-1 (get-trans (the-as process-focusable gp-0) 3)))
|
||||
(when (and (< 2048.0 (vector-vector-distance (-> self control trans) s5-1))
|
||||
(or (and (= gp-0 (handle->process sv-56)) (not (time-elapsed? (the-as time-frame sv-64) (seconds 0.1))))
|
||||
@@ -2457,12 +2452,7 @@
|
||||
(set! sv-120 (fill-actor-list-for-box *actor-hash* sv-128 (-> sv-112 data) (-> sv-112 allocated-length)))
|
||||
(set! (-> sv-112 length) sv-120)
|
||||
(countdown (s5-0 sv-120)
|
||||
(let* ((s4-0 (-> sv-112 s5-0 process))
|
||||
(v1-56 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-56 (as-type (-> sv-112 s5-0 process) process-focusable)))
|
||||
(when (and v1-56 (logtest? (process-mask crate enemy guard vehicle) (-> v1-56 mask)))
|
||||
(set! (-> sv-132 (-> sv-132 length)) (process->handle v1-56))
|
||||
(+! (-> sv-132 length) 1)
|
||||
|
||||
+3
-7
@@ -2292,13 +2292,9 @@
|
||||
cfg-138
|
||||
:delay (nop!)
|
||||
)
|
||||
(let ((s5-1 (handle->process (-> self attack-info attacker))))
|
||||
(when (if (type? s5-1 water-vol)
|
||||
s5-1
|
||||
)
|
||||
(logior! (-> self target-flags) (target-flags tf14))
|
||||
(set! (-> self alt-cam-pos y) (+ 4096.0 (-> self water height)))
|
||||
)
|
||||
(when (as-type (handle->process (-> self attack-info attacker)) water-vol)
|
||||
(logior! (-> self target-flags) (target-flags tf14))
|
||||
(set! (-> self alt-cam-pos y) (+ 4096.0 (-> self water height)))
|
||||
)
|
||||
(set! (-> self control mod-surface) *neutral-mods*)
|
||||
(case arg0
|
||||
|
||||
+1
-5
@@ -359,11 +359,7 @@
|
||||
2.0
|
||||
0.0
|
||||
(let* ((f30-0 (penetrate-using->damage s0-0))
|
||||
(s2-0 arg0)
|
||||
(s5-0 (if (type? s2-0 process-focusable)
|
||||
(the-as process-focusable s2-0)
|
||||
)
|
||||
)
|
||||
(s5-0 (as-type arg0 process-focusable))
|
||||
(s2-1 (and s5-0 (focus-test? s5-0 dead hit)))
|
||||
)
|
||||
(set! sv-96
|
||||
|
||||
+3
-12
@@ -278,12 +278,7 @@
|
||||
)
|
||||
)
|
||||
(when (= (-> self ext-anim) (target-anim default))
|
||||
(let* ((s5-1 (handle->process arg0))
|
||||
(v1-24 (if (type? s5-1 process-drawable)
|
||||
(the-as process-drawable s5-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-24 (as-type (handle->process arg0) process-drawable)))
|
||||
(when v1-24
|
||||
(let ((s4-1 (-> v1-24 root trans))
|
||||
(v1-27 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node jakb-lod0-jg main)))
|
||||
@@ -390,12 +385,8 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 320 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-21 gp-0))
|
||||
(set! (-> v1-21 width) (the float 340))
|
||||
)
|
||||
(let ((v1-22 gp-0))
|
||||
(set! (-> v1-22 height) (the float 80))
|
||||
)
|
||||
(set-width! gp-0 340)
|
||||
(set-height! gp-0 80)
|
||||
(let ((v1-23 gp-0)
|
||||
(a0-16 (-> *setting-control* user-default language))
|
||||
)
|
||||
|
||||
+7
-16
@@ -2633,12 +2633,7 @@
|
||||
(+! (-> self clock ref-count) -1)
|
||||
(+! (-> self parent 0 clock ref-count) 1)
|
||||
(set! (-> self clock) (-> self parent 0 clock))
|
||||
(while (let* ((s5-2 (ppointer->process (-> self parent)))
|
||||
(v1-31 (if (type? s5-2 process-focusable)
|
||||
s5-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(while (let ((v1-31 (as-type (ppointer->process (-> self parent)) process-focusable)))
|
||||
(and v1-31
|
||||
(or (focus-test? v1-31 dead hit) (and (-> v1-31 next-state) (let ((v1-34 (-> v1-31 next-state name)))
|
||||
(or (= v1-34 'hit)
|
||||
@@ -3157,16 +3152,12 @@
|
||||
(vf7 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(let* ((gp-0 (ppointer->process (-> self parent)))
|
||||
(s3-0 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
(s4-0 (camera-matrix))
|
||||
(s5-0 (new 'stack-no-clear 'vector))
|
||||
(gp-1 (new 'stack-no-clear 'vector))
|
||||
(f30-0 4096.0)
|
||||
)
|
||||
(let ((s3-0 (the-as target (as-type (ppointer->process (-> self parent)) process-focusable)))
|
||||
(s4-0 (camera-matrix))
|
||||
(s5-0 (new 'stack-no-clear 'vector))
|
||||
(gp-1 (new 'stack-no-clear 'vector))
|
||||
(f30-0 4096.0)
|
||||
)
|
||||
(let ((f0-0 3.0))
|
||||
(set-vector! (-> self root scale) f0-0 f0-0 f0-0 1.0)
|
||||
)
|
||||
|
||||
+6
-15
@@ -1184,12 +1184,7 @@
|
||||
(go-virtual slide-control-watch)
|
||||
)
|
||||
(('update)
|
||||
(let* ((s4-0 proc)
|
||||
(gp-0 (if (type? s4-0 process-drawable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (as-type proc process-drawable)))
|
||||
(if gp-0
|
||||
(find-target-point (-> (the-as process-drawable gp-0) root trans))
|
||||
)
|
||||
@@ -1215,15 +1210,11 @@
|
||||
(process-entity-status! self (entity-perm-status no-kill) #f)
|
||||
)
|
||||
:trans (behavior ()
|
||||
(let ((gp-0 (handle->process (-> self target))))
|
||||
(cond
|
||||
((if (type? gp-0 process-drawable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
(else
|
||||
(go-virtual slide-control-watch)
|
||||
)
|
||||
(cond
|
||||
((as-type (handle->process (-> self target)) process-drawable)
|
||||
)
|
||||
(else
|
||||
(go-virtual slide-control-watch)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
+1
-6
@@ -214,12 +214,7 @@
|
||||
:event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
|
||||
(case message
|
||||
(('touched)
|
||||
(let* ((s4-0 proc)
|
||||
(v1-1 (if (type? s4-0 process-drawable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-1 (as-type proc process-drawable)))
|
||||
(when v1-1
|
||||
(-> (the-as process-drawable v1-1) root)
|
||||
(send-event
|
||||
|
||||
+5
-21
@@ -889,12 +889,8 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 320 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-5 gp-0))
|
||||
(set! (-> v1-5 width) (the float 340))
|
||||
)
|
||||
(let ((v1-6 gp-0))
|
||||
(set! (-> v1-6 height) (the float 80))
|
||||
)
|
||||
(set-width! gp-0 340)
|
||||
(set-height! gp-0 80)
|
||||
(let ((v1-7 gp-0)
|
||||
(a0-6 (-> *setting-control* user-default language))
|
||||
)
|
||||
@@ -1673,12 +1669,7 @@
|
||||
)
|
||||
(let ((f30-1 (sin (lerp-scale 0.0 16384.0 (ja-aframe-num 0) 0.0 20.0))))
|
||||
(let ((f28-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) 0.0 20.0)))
|
||||
(let* ((gp-2 (handle->process (-> self turret handle)))
|
||||
(a0-16 (if (type? gp-2 process-drawable)
|
||||
gp-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-16 (as-type (handle->process (-> self turret handle)) process-drawable)))
|
||||
(if a0-16
|
||||
(vector-copy! (-> self alt-cam-pos) (-> (the-as process-drawable a0-16) root trans))
|
||||
)
|
||||
@@ -1719,12 +1710,7 @@
|
||||
(ja-no-eval :group! jakb-turret-for-get-on-ja :num! (seek! (ja-aframe 46.0 0)) :frame-num 0.0)
|
||||
(until (ja-done? 0)
|
||||
(let ((f30-0 (sin (lerp-scale 0.0 16384.0 (ja-aframe-num 0) 0.0 20.0))))
|
||||
(let* ((s5-2 (handle->process (-> self turret handle)))
|
||||
(a0-12 (if (type? s5-2 process-drawable)
|
||||
s5-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-12 (as-type (handle->process (-> self turret handle)) process-drawable)))
|
||||
(if a0-12
|
||||
(vector-copy! (-> self alt-cam-pos) (-> (the-as process-drawable a0-12) root trans))
|
||||
)
|
||||
@@ -2088,9 +2074,7 @@
|
||||
(the-as attack-info gp-1)
|
||||
(-> arg3 param 1)
|
||||
self
|
||||
(if (type? arg0 process-drawable)
|
||||
arg0
|
||||
)
|
||||
(as-type arg0 process-drawable)
|
||||
(the-as touching-shapes-entry (-> arg3 param 0))
|
||||
)
|
||||
(case (-> (the-as attack-info gp-1) mode)
|
||||
|
||||
+6
-28
@@ -1882,16 +1882,8 @@
|
||||
(vf2 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(let ((s5-0 (if (type? arg1 process-drawable)
|
||||
arg1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-0 (if (type? arg2 process-drawable)
|
||||
arg2
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (as-type arg1 process-drawable)))
|
||||
(let ((v1-0 (as-type arg2 process-drawable)))
|
||||
(cond
|
||||
((logtest? (attack-mask attacker-velocity) (-> this mask))
|
||||
(vector-copy! (-> arg0 attacker-velocity) (-> this attacker-velocity))
|
||||
@@ -2034,12 +2026,7 @@
|
||||
)
|
||||
(cond
|
||||
((not (logtest? s4-0 (attack-mask vector)))
|
||||
(let* ((s2-0 (handle->process (-> this attacker)))
|
||||
(v1-65 (if (type? s2-0 process-drawable)
|
||||
(the-as process-drawable s2-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-65 (as-type (handle->process (-> this attacker)) process-drawable)))
|
||||
(when (and v1-65 (nonzero? (-> v1-65 root)))
|
||||
(vector-copy! (-> this trans) (-> v1-65 root trans))
|
||||
(vector-! (-> this vector) (-> arg1 root trans) (-> v1-65 root trans))
|
||||
@@ -2048,12 +2035,7 @@
|
||||
)
|
||||
)
|
||||
(else
|
||||
(let* ((s3-1 (handle->process (-> this attacker)))
|
||||
(v1-72 (if (type? s3-1 process-drawable)
|
||||
(the-as process-drawable s3-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-72 (as-type (handle->process (-> this attacker)) process-drawable)))
|
||||
(if (and v1-72 (nonzero? (-> v1-72 root)))
|
||||
(vector-copy! (-> this trans) (-> v1-72 root trans))
|
||||
)
|
||||
@@ -2519,12 +2501,8 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 320 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-14 gp-0))
|
||||
(set! (-> v1-14 width) (the float 340))
|
||||
)
|
||||
(let ((v1-15 gp-0))
|
||||
(set! (-> v1-15 height) (the float 80))
|
||||
)
|
||||
(set-width! gp-0 340)
|
||||
(set-height! gp-0 80)
|
||||
(let ((v1-16 gp-0)
|
||||
(a0-13 (-> *setting-control* user-default language))
|
||||
)
|
||||
|
||||
+1
-6
@@ -650,12 +650,7 @@
|
||||
0
|
||||
(ja-channel-set! 0)
|
||||
(until #f
|
||||
(let* ((s5-0 (handle->process arg0))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (as-type (handle->process arg0) process-focusable)))
|
||||
(if a0-6
|
||||
(move-to-point! (-> self control) (get-trans (the-as process-focusable a0-6) 0))
|
||||
)
|
||||
|
||||
+11
-21
@@ -2345,16 +2345,15 @@
|
||||
(align! (-> self align) (align-opts adjust-quat) 1.0 1.0 1.0)
|
||||
(set! (-> self control mod-surface) *attack-mods*)
|
||||
(when (and gp-0 (send-event (handle->process (-> self control unknown-combo-tracker00 target)) 'combo))
|
||||
(let* ((s5-1 (handle->process (-> self control unknown-combo-tracker00 target)))
|
||||
(s5-2 (get-trans
|
||||
(the-as process-focusable (if (type? s5-1 process-focusable)
|
||||
(the-as process-focusable s5-1)
|
||||
)
|
||||
)
|
||||
3
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-2 (get-trans
|
||||
(the-as
|
||||
process-focusable
|
||||
(as-type (handle->process (-> self control unknown-combo-tracker00 target)) process-focusable)
|
||||
)
|
||||
3
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (< 4096.0 (vector-vector-xz-distance s5-2 (-> self control trans)))
|
||||
(let ((f30-1 (-> self control transv y)))
|
||||
(vector-! (-> self control transv) s5-2 (-> self control trans))
|
||||
@@ -2510,18 +2509,9 @@
|
||||
(set-time! (-> self control sliding-start-time))
|
||||
(set-time! (-> self gun combo-window-start))
|
||||
(set! (-> self gun combo-window-state) (-> self state name))
|
||||
(let ((v1-13 (if (type? proc process-focusable)
|
||||
proc
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-13 (as-type proc process-focusable)))
|
||||
(when v1-13
|
||||
(let* ((s5-1 (-> (the-as process-focusable v1-13) root))
|
||||
(v1-14 (if (type? s5-1 collide-shape)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-14 (as-type (-> (the-as process-focusable v1-13) root) collide-shape)))
|
||||
(if (and v1-14 (or (logtest? (-> v1-14 root-prim prim-core collide-as) (collide-spec enemy))
|
||||
(logtest? (-> v1-14 root-prim prim-core action) (collide-action no-smack))
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user