mirror of
https://github.com/open-goal/jak-project
synced 2026-07-30 16:04:33 -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:
+1
-6
@@ -802,12 +802,7 @@
|
||||
(case message
|
||||
(('touch 'attack)
|
||||
(when (time-elapsed? (the-as int (-> self collide-off-timer)) (seconds 2))
|
||||
(let* ((s4-0 proc)
|
||||
(s3-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-0 (the-as process (as-type proc process-focusable))))
|
||||
(when s3-0
|
||||
(let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))))
|
||||
(let* ((v1-7 (vector-z-quaternion! (new 'stack-no-clear 'vector) (get-quat (the-as process-focusable s3-0) 0)))
|
||||
|
||||
+1
-5
@@ -164,11 +164,7 @@
|
||||
;; definition for method 37 of type juicer-shot
|
||||
(defmethod deal-damage! ((this juicer-shot) (arg0 process) (arg1 event-message-block))
|
||||
"Constructs an [[attack-info]] according to the projectile's `options`"
|
||||
(let ((a0-2 (if (type? arg0 process-focusable)
|
||||
arg0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-2 (the-as process (as-type arg0 process-focusable))))
|
||||
(when a0-2
|
||||
(set! (-> this victim) (process->handle a0-2))
|
||||
#t
|
||||
|
||||
+1
-5
@@ -175,11 +175,7 @@
|
||||
(when (not (logtest? (-> arg0 bot-task-bits) (bot-task-bits botbits-4)))
|
||||
(let ((s5-0 (handle->process (-> arg0 focus handle))))
|
||||
(when s5-0
|
||||
(let ((v1-9 (if (type? s5-0 nav-enemy)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-9 (the-as process (as-type s5-0 nav-enemy))))
|
||||
(when v1-9
|
||||
(if (>= 20480.0 (- (-> (the-as process-focusable v1-9) root trans y) (-> arg0 root trans y)))
|
||||
(logior! (-> arg0 bot-task-bits) (bot-task-bits botbits-4))
|
||||
|
||||
+2
-12
@@ -168,12 +168,7 @@
|
||||
;; definition for method 45 of type cboss-elevator
|
||||
(defmethod commited-to-ride? ((this cboss-elevator))
|
||||
"@returns if the target is considered within the elevator area enough to begin descending/ascending"
|
||||
(let* ((gp-0 *target*)
|
||||
(a0-2 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-2 (the-as target (as-type *target* process-focusable))))
|
||||
(when a0-2
|
||||
(let* ((v1-1 (get-trans a0-2 0))
|
||||
(gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> this root trans)))
|
||||
@@ -2772,12 +2767,7 @@
|
||||
(+! (-> self next-shooting-frame) 5)
|
||||
)
|
||||
)
|
||||
(let* ((gp-5 *target*)
|
||||
(a0-40 (if (type? gp-5 process-focusable)
|
||||
gp-5
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-40 (the-as target (as-type *target* process-focusable))))
|
||||
(when a0-40
|
||||
(let ((gp-6 (new 'stack-no-clear 'projectile-init-by-other-params)))
|
||||
(let ((s4-0 (new 'stack-no-clear 'vector)))
|
||||
|
||||
+2
-12
@@ -936,12 +936,7 @@
|
||||
;; definition for method 45 of type cas-elevator
|
||||
(defmethod commited-to-ride? ((this cas-elevator))
|
||||
"@returns if the target is considered within the elevator area enough to begin descending/ascending"
|
||||
(let* ((s5-0 *target*)
|
||||
(a0-2 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-2 (the-as target (as-type *target* process-focusable))))
|
||||
(when a0-2
|
||||
(let* ((a0-3 (get-trans a0-2 0))
|
||||
(v1-2 (vector-! (new 'stack-no-clear 'vector) a0-3 (-> this root trans)))
|
||||
@@ -1814,12 +1809,7 @@
|
||||
0
|
||||
(sound-play "trapdoor")
|
||||
(let ((gp-1 (new 'stack 'joint-exploder-tuning (the-as uint 1))))
|
||||
(let* ((s5-1 *target*)
|
||||
(a0-3 (if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-3 (the-as target (as-type *target* process-focusable))))
|
||||
(when a0-3
|
||||
(set! (-> gp-1 fountain-rand-transv-lo quad) (-> (get-trans a0-3 0) quad))
|
||||
(+! (-> gp-1 fountain-rand-transv-lo y) -16384.0)
|
||||
|
||||
+1
-6
@@ -59,12 +59,7 @@
|
||||
;; definition for method 45 of type cpad-elevator
|
||||
(defmethod commited-to-ride? ((this cpad-elevator))
|
||||
"@returns if the target is considered within the elevator area enough to begin descending/ascending"
|
||||
(let* ((target *target*)
|
||||
(target-proc (if (type? target process-focusable)
|
||||
target
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((target-proc (the-as target (as-type *target* process-focusable))))
|
||||
(when target-proc
|
||||
(let* ((target-pos (get-trans target-proc 0))
|
||||
(dist-from-center (vector-! (new 'stack-no-clear 'vector) target-pos (-> this root trans)))
|
||||
|
||||
+1
-6
@@ -1060,12 +1060,7 @@
|
||||
(else
|
||||
(when (!= (-> arg0 type) target)
|
||||
(-> arg1 param 0)
|
||||
(let* ((s3-0 arg0)
|
||||
(s1-0 (if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-0 (the-as process (as-type arg0 process-focusable))))
|
||||
(when (and s1-0 (logtest? (process-mask enemy) (-> s1-0 mask)))
|
||||
(let ((s2-1
|
||||
(vector-! (new 'stack-no-clear 'vector) (-> this root trans) (-> (the-as process-drawable s1-0) root trans))
|
||||
|
||||
+13
-44
@@ -1489,19 +1489,9 @@
|
||||
(s3-0 (new 'stack-no-clear 'array 'collide-shape 64))
|
||||
)
|
||||
(countdown (s2-0 (fill-actor-list-for-sphere *actor-hash* (the-as sphere arg0) s3-0 64))
|
||||
(let* ((s1-0 (-> s3-0 s2-0))
|
||||
(a0-3 (if (type? s1-0 collide-shape)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-3 (as-type (-> s3-0 s2-0) collide-shape)))
|
||||
(when a0-3
|
||||
(let* ((s0-0 (-> a0-3 process))
|
||||
(s1-1 (if (type? s0-0 process-focusable)
|
||||
s0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-1 (the-as process-drawable (as-type (-> a0-3 process) process-focusable))))
|
||||
(when (and s1-1
|
||||
(!= this s1-1)
|
||||
(not (focus-test? this inactive))
|
||||
@@ -1863,20 +1853,14 @@
|
||||
)
|
||||
)
|
||||
((logtest? (-> (the-as collide-shape-prim v1-25) prim-core collide-as) (collide-spec civilian))
|
||||
(let ((s1-1 process-drawable-shock-skel-effect)
|
||||
(s0-1 (-> (the-as collide-shape-prim v1-25) cshape process))
|
||||
)
|
||||
(s1-1
|
||||
(if (type? s0-1 process-focusable)
|
||||
s0-1
|
||||
)
|
||||
(-> *lightning-spec-id-table* 5)
|
||||
lightning-probe-callback
|
||||
(-> *part-id-table* 166)
|
||||
2048.0
|
||||
-1
|
||||
-1
|
||||
)
|
||||
(process-drawable-shock-skel-effect
|
||||
(the-as process-drawable (as-type (-> (the-as collide-shape-prim v1-25) cshape process) process-focusable))
|
||||
(-> *lightning-spec-id-table* 5)
|
||||
lightning-probe-callback
|
||||
(-> *part-id-table* 166)
|
||||
2048.0
|
||||
-1
|
||||
-1
|
||||
)
|
||||
)
|
||||
((logtest? (-> (the-as collide-shape-prim v1-25) prim-core collide-as) (collide-spec jak))
|
||||
@@ -3164,12 +3148,7 @@
|
||||
(let ((gp-0 0))
|
||||
(let ((s5-0 10000))
|
||||
(dotimes (s4-0 3)
|
||||
(let* ((s2-0 (-> self slave s4-0 process 0))
|
||||
(s3-0 (if (type? s2-0 bombbot)
|
||||
(the-as bombbot s2-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-0 (as-type (-> self slave s4-0 process 0) bombbot)))
|
||||
(when s3-0
|
||||
(+! gp-0 1)
|
||||
(let ((v1-14 (the int (* 0.000030517578 (vector-vector-xz-distance
|
||||
@@ -3288,12 +3267,7 @@
|
||||
)
|
||||
(add-process *gui-control* self (gui-channel sig) (gui-action play) "bbotxplo" -99.0 0)
|
||||
(dotimes (gp-1 3)
|
||||
(let* ((s5-0 (-> self slave gp-1 process 0))
|
||||
(a0-7 (if (type? s5-0 bombbot)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-7 (the-as process (as-type (-> self slave gp-1 process 0) bombbot))))
|
||||
(if a0-7
|
||||
(send-event a0-7 'explode)
|
||||
)
|
||||
@@ -3381,12 +3355,7 @@
|
||||
(let ((gp-0 0))
|
||||
10000
|
||||
(dotimes (s5-0 3)
|
||||
(let* ((s4-0 (-> self slave s5-0 process 0))
|
||||
(v1-6 (if (type? s4-0 bombbot)
|
||||
(the-as bombbot s4-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-6 (as-type (-> self slave s5-0 process 0) bombbot)))
|
||||
(when v1-6
|
||||
(+! gp-0 1)
|
||||
(when (= (-> v1-6 current-node) (+ (-> v1-6 city-path node-count) -1))
|
||||
|
||||
+4
-14
@@ -560,14 +560,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 (the-as process (as-type (handle->process (-> self pilot vehicle)) vehicle)))
|
||||
(ja-channel-set! 0)
|
||||
(go target-falling #f)
|
||||
)
|
||||
)
|
||||
:code (behavior ()
|
||||
@@ -718,12 +713,7 @@
|
||||
(set! (-> gp-0 pilot-start-grab-pos quad) (-> self control trans quad))
|
||||
(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 (the-as process (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))))
|
||||
|
||||
+20
-77
@@ -280,12 +280,7 @@
|
||||
(let ((v1-5 (the-as object (-> block param 1))))
|
||||
(when (!= (-> (the-as attack-info v1-5) id) (-> self incoming-attack-id))
|
||||
(set! (-> self incoming-attack-id) (-> (the-as attack-info v1-5) id))
|
||||
(let* ((s5-0 proc)
|
||||
(s3-0 (if (type? s5-0 process-drawable)
|
||||
(the-as process-drawable s5-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-0 (as-type proc process-drawable)))
|
||||
(when s3-0
|
||||
(let ((s5-1 (process-spawn
|
||||
manipy
|
||||
@@ -382,18 +377,9 @@
|
||||
(set! (-> self flash) 0.375)
|
||||
)
|
||||
(+! (-> self touch-count) 1)
|
||||
(let ((v1-83 (if (type? proc process-focusable)
|
||||
(the-as process-focusable proc)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-83 (as-type proc process-focusable)))
|
||||
(when v1-83
|
||||
(let* ((gp-1 (-> v1-83 root))
|
||||
(a0-45 (if (type? gp-1 collide-shape)
|
||||
gp-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-45 (as-type (-> v1-83 root) collide-shape)))
|
||||
(if (and a0-45 (logtest? (-> a0-45 root-prim prim-core collide-as) (collide-spec jak)))
|
||||
(security-wall-method-23 self)
|
||||
)
|
||||
@@ -2806,12 +2792,7 @@
|
||||
(gp-3 (new 'stack-no-clear 'matrix))
|
||||
)
|
||||
(when (and (nonzero? (-> self handle)) (handle->process (-> self handle)))
|
||||
(let* ((s3-0 (handle->process (-> self handle)))
|
||||
(a0-25 (if (type? s3-0 process-focusable)
|
||||
(the-as process-focusable s3-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-25 (as-type (handle->process (-> self handle)) process-focusable)))
|
||||
(when a0-25
|
||||
(vector-! s4-0 (-> a0-25 root trans) (-> self root trans))
|
||||
(set! (-> self y-rot) (deg-seek
|
||||
@@ -2838,19 +2819,9 @@
|
||||
(s3-0 (new 'stack-no-clear 'array 'collide-shape 64))
|
||||
)
|
||||
(countdown (s2-0 (fill-actor-list-for-sphere *actor-hash* (the-as sphere arg0) s3-0 64))
|
||||
(let* ((s1-0 (-> s3-0 s2-0))
|
||||
(a0-3 (if (type? s1-0 collide-shape)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-3 (as-type (-> s3-0 s2-0) collide-shape)))
|
||||
(when a0-3
|
||||
(let* ((s0-0 (-> a0-3 process))
|
||||
(s1-1 (if (type? s0-0 process-focusable)
|
||||
(the-as process-focusable s0-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-1 (as-type (-> a0-3 process) process-focusable)))
|
||||
(when (and s1-1
|
||||
(!= this s1-1)
|
||||
(not (focus-test? s1-1 inactive))
|
||||
@@ -3133,15 +3104,9 @@
|
||||
)
|
||||
)
|
||||
(set! (-> s5-1 flags) (font-flags shadow kerning large))
|
||||
(let ((v1-37 s5-1))
|
||||
(set! (-> v1-37 width) (the float 340))
|
||||
)
|
||||
(let ((v1-38 s5-1))
|
||||
(set! (-> v1-38 height) (the float 80))
|
||||
)
|
||||
(let ((v1-39 s5-1))
|
||||
(set! (-> v1-39 scale) 0.9)
|
||||
)
|
||||
(set-width! s5-1 340)
|
||||
(set-height! s5-1 80)
|
||||
(set-scale! s5-1 0.9)
|
||||
(let ((s4-1 print-game-text))
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (text-id press-triangle-to-talk) #f))
|
||||
(s4-1 *temp-string* s5-1 #f 44 (bucket-id progress))
|
||||
@@ -3551,22 +3516,10 @@
|
||||
)
|
||||
)
|
||||
(set! (-> s1-0 flags) (font-flags shadow kerning middle middle-vert large))
|
||||
(let ((v1-48 s1-0))
|
||||
(set! (-> v1-48 width) (the float 440))
|
||||
)
|
||||
(let ((v1-49 s1-0))
|
||||
(set! (-> v1-49 height) (the float 50))
|
||||
)
|
||||
(let ((v1-50 s1-0))
|
||||
(set! (-> v1-50 scale) 1.0)
|
||||
)
|
||||
(let ((v1-51 s1-0)
|
||||
(a1-3 s3-2)
|
||||
(a0-59 40)
|
||||
)
|
||||
(set! (-> v1-51 origin x) (the float a1-3))
|
||||
(set! (-> v1-51 origin y) (the float a0-59))
|
||||
)
|
||||
(set-width! s1-0 440)
|
||||
(set-height! s1-0 50)
|
||||
(set-scale! s1-0 1.0)
|
||||
(set-origin! s1-0 s3-2 40)
|
||||
(let ((a0-60 s1-0))
|
||||
(set! (-> a0-60 color) (font-color progress-old-yellow))
|
||||
)
|
||||
@@ -3578,24 +3531,14 @@
|
||||
)
|
||||
(s0-0 *temp-string* s1-0 #f 44 (bucket-id progress))
|
||||
)
|
||||
(let ((v1-55 s1-0))
|
||||
(set! (-> v1-55 height) (the float s4-9))
|
||||
)
|
||||
(set-height! s1-0 s4-9)
|
||||
(dotimes (s0-1 gp-0)
|
||||
(let ((v1-56 s1-0)
|
||||
(a1-7 s3-2)
|
||||
(a0-66 s2-0)
|
||||
)
|
||||
(set! (-> v1-56 origin x) (the float a1-7))
|
||||
(set! (-> v1-56 origin y) (the float a0-66))
|
||||
)
|
||||
(let ((v1-57 s1-0))
|
||||
(set! (-> v1-57 scale) (if (= s0-1 s5-0)
|
||||
0.8
|
||||
0.6
|
||||
)
|
||||
)
|
||||
)
|
||||
(set-origin! s1-0 s3-2 s2-0)
|
||||
(set-scale! s1-0 (if (= s0-1 s5-0)
|
||||
0.8
|
||||
0.6
|
||||
)
|
||||
)
|
||||
(let ((a0-68 s1-0))
|
||||
(set! (-> a0-68 color) (if (= s0-1 s5-0)
|
||||
(font-color progress-old-selected)
|
||||
|
||||
+1
-6
@@ -355,12 +355,7 @@
|
||||
(logclear! (-> self bot-flags) (bot-flags bf15))
|
||||
(go-idle-or-move self)
|
||||
)
|
||||
(let* ((s5-0 (handle->process (-> self kid-handle)))
|
||||
(a2-0 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a2-0 (the-as process (as-type (handle->process (-> self kid-handle)) process-focusable))))
|
||||
(if a2-0
|
||||
(put-rider-in-seat (the-as vehicle gp-0) (-> self vehicle-seat-index) (the-as process-focusable a2-0))
|
||||
)
|
||||
|
||||
+19
-114
@@ -80,12 +80,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -120,12 +115,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -163,12 +153,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -206,12 +191,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -246,12 +226,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -286,12 +261,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -329,12 +299,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -369,12 +334,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -409,12 +369,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -449,12 +404,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -489,12 +439,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -532,12 +477,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -572,12 +512,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -632,12 +567,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -735,12 +665,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -783,12 +708,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -823,12 +743,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -868,12 +783,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
@@ -908,12 +818,7 @@
|
||||
(function crocesct-wait-spot crocadog-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 crocadog-escort))
|
||||
(when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
(let* ((s5-0 (handle->process (-> arg1 kid-handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> arg1 kid-handle)) process-focusable))))
|
||||
(when (or (not a0-6)
|
||||
(>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans)))
|
||||
)
|
||||
|
||||
+3
-21
@@ -285,12 +285,7 @@
|
||||
|
||||
;; definition for method 97 of type crocadog-escort
|
||||
(defmethod enemy-method-97 ((this crocadog-escort))
|
||||
(let* ((s4-0 (handle->process (-> this attacker-handle)))
|
||||
(s5-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (the-as process (as-type (handle->process (-> this attacker-handle)) process-focusable))))
|
||||
(when s5-0
|
||||
(when (time-elapsed? (-> this attacker-time) (seconds 3))
|
||||
(set! s5-0 (the-as process #f))
|
||||
@@ -302,15 +297,7 @@
|
||||
(s5-0
|
||||
(empty)
|
||||
)
|
||||
((begin
|
||||
(let ((s4-1 (handle->process (-> this poi-handle))))
|
||||
(set! s5-0 (if (type? s4-1 process-focusable)
|
||||
s4-1
|
||||
)
|
||||
)
|
||||
)
|
||||
s5-0
|
||||
)
|
||||
((begin (set! s5-0 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable))) s5-0)
|
||||
(empty)
|
||||
)
|
||||
(else
|
||||
@@ -320,12 +307,7 @@
|
||||
(empty)
|
||||
)
|
||||
(else
|
||||
(let ((s4-2 (handle->process (-> this kid-handle))))
|
||||
(set! s5-0 (if (type? s4-2 process-focusable)
|
||||
s4-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s5-0 (the-as process (as-type (handle->process (-> this kid-handle)) process-focusable)))
|
||||
*target*
|
||||
(let ((f30-0 -1.0)
|
||||
(f28-0 (vector-vector-distance (target-pos 0) (-> this root trans)))
|
||||
|
||||
+105
-265
@@ -153,12 +153,7 @@
|
||||
|
||||
;; definition for method 235 of type hal-escort
|
||||
(defmethod hal-escort-method-235 ((this hal-escort))
|
||||
(let* ((s5-0 (handle->process (-> this arrestor-handle)))
|
||||
(v1-3 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-3 (the-as process (as-type (handle->process (-> this arrestor-handle)) process-focusable))))
|
||||
(when v1-3
|
||||
(cond
|
||||
((time-elapsed? (-> this arrestor-time) (seconds 4))
|
||||
@@ -207,24 +202,16 @@
|
||||
(let ((s5-0 *target*))
|
||||
(when (focus-test? s5-0 pilot-riding pilot)
|
||||
(let* ((a0-2 (-> this actor-group 0 data 1 actor))
|
||||
(v1-5 (when a0-2
|
||||
(let ((s4-0 (-> a0-2 extra process)))
|
||||
(if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
(v1-5 (if a0-2
|
||||
(the-as process (as-type (-> a0-2 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (focus-test? (the-as process-focusable v1-5) pilot-riding pilot)
|
||||
(let* ((v1-12 (-> this actor-group 0 data 2 actor))
|
||||
(a0-5 (when v1-12
|
||||
(let ((s4-1 (-> v1-12 extra process)))
|
||||
(if (type? s4-1 process-focusable)
|
||||
s4-1
|
||||
)
|
||||
(a0-5 (if v1-12
|
||||
(the-as process (as-type (-> v1-12 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (not (focus-test? (the-as process-focusable a0-5) pilot-riding pilot))
|
||||
@@ -247,13 +234,9 @@
|
||||
;; WARN: Return type mismatch object vs symbol.
|
||||
(defmethod hal-escort-method-228 ((this hal-escort))
|
||||
(let* ((v1-3 (-> this actor-group 0 data 1 actor))
|
||||
(a0-1 (when v1-3
|
||||
(let ((s5-0 (-> v1-3 extra process)))
|
||||
(if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
(a0-1 (if v1-3
|
||||
(the-as process (as-type (-> v1-3 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(s5-1 *target*)
|
||||
)
|
||||
@@ -279,13 +262,9 @@
|
||||
(defmethod hal-escort-method-234 ((this hal-escort) (arg0 nav-mesh))
|
||||
(let ((s2-0 (the-as process #f)))
|
||||
(let* ((v1-3 (-> this actor-group 0 data 1 actor))
|
||||
(gp-0 (when v1-3
|
||||
(let ((s5-0 (-> v1-3 extra process)))
|
||||
(if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
(gp-0 (if v1-3
|
||||
(the-as process (as-type (-> v1-3 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(s5-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
@@ -316,14 +295,11 @@
|
||||
(set! (-> s2-2 nav-branch) #f)
|
||||
(set! (-> s2-2 proc) #f)
|
||||
(let ((v1-25 (-> this actor-group 0 data 1 actor)))
|
||||
(set! (-> s2-2 handle) (process->handle (when v1-25
|
||||
(let ((s4-1 (-> v1-25 extra process)))
|
||||
(if (type? s4-1 process-focusable)
|
||||
s4-1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> s2-2 handle)
|
||||
(process->handle (if v1-25
|
||||
(the-as process (as-type (-> v1-25 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> s2-2 user-data) (the-as uint 0))
|
||||
@@ -349,13 +325,9 @@
|
||||
"Returns seat index"
|
||||
(let* ((gp-0 (handle->process (-> this vehicle-handle)))
|
||||
(v1-6 (-> this actor-group 0 data 1 actor))
|
||||
(s5-0 (when v1-6
|
||||
(let ((s4-0 (-> v1-6 extra process)))
|
||||
(if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
(s5-0 (if v1-6
|
||||
(the-as process (as-type (-> v1-6 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(s4-1 -1)
|
||||
)
|
||||
@@ -381,22 +353,14 @@
|
||||
(defmethod hal-escort-method-232 ((this hal-escort))
|
||||
(let* ((target *target*)
|
||||
(v1-3 (-> this actor-group 0 data 1 actor))
|
||||
(s5-0 (when v1-3
|
||||
(let ((s3-0 (-> v1-3 extra process)))
|
||||
(if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
(s5-0 (if v1-3
|
||||
(the-as process (as-type (-> v1-3 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(a0-2 (-> this actor-group 0 data 2 actor))
|
||||
(v1-8 (when a0-2
|
||||
(let ((s3-1 (-> a0-2 extra process)))
|
||||
(if (type? s3-1 process-focusable)
|
||||
s3-1
|
||||
)
|
||||
(v1-8 (if a0-2
|
||||
(the-as process (as-type (-> a0-2 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when target
|
||||
@@ -601,12 +565,7 @@
|
||||
(dotimes (s4-0 *actor-list-length*)
|
||||
(let ((v1-27 (-> *actor-list* s4-0)))
|
||||
(when (logtest? (the-as collide-spec s5-0) (-> v1-27 root-prim prim-core collide-as))
|
||||
(let* ((s3-0 (-> v1-27 process))
|
||||
(a0-16 (if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-16 (the-as process-drawable (as-type (-> v1-27 process) process-focusable))))
|
||||
(when (and a0-16 (= (-> a0-16 type) crimson-guard))
|
||||
(let ((s3-1 (get-trans (the-as process-focusable a0-16) 0)))
|
||||
(if (and (>= (-> gp-0 vector 1 w) (vector-vector-xz-distance (-> gp-0 vector 1) s3-1))
|
||||
@@ -630,23 +589,15 @@
|
||||
(when (not (channel-active? this (gui-channel none)))
|
||||
(let ((s5-0 0))
|
||||
(let* ((v1-5 (-> this actor-group 0 data 1 actor))
|
||||
(s4-0 (when v1-5
|
||||
(let ((s3-0 (-> v1-5 extra process)))
|
||||
(if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
(s4-0 (if v1-5
|
||||
(the-as process (as-type (-> v1-5 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((a0-3 (-> this actor-group 0 data 2 actor))
|
||||
(v1-10 (when a0-3
|
||||
(let ((s3-1 (-> a0-3 extra process)))
|
||||
(if (type? s3-1 process-focusable)
|
||||
s3-1
|
||||
)
|
||||
(v1-10 (if a0-3
|
||||
(the-as process (as-type (-> a0-3 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (or (logtest? (-> (the-as process-focusable s4-0) draw status) (draw-control-status on-screen))
|
||||
@@ -705,13 +656,9 @@
|
||||
(defun hal4-walking-too-far ((arg0 hal-escort))
|
||||
(let ((gp-0 0))
|
||||
(let* ((v1-3 (-> arg0 actor-group 0 data 1 actor))
|
||||
(a0-1 (when v1-3
|
||||
(let ((s4-0 (-> v1-3 extra process)))
|
||||
(if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
(a0-1 (if v1-3
|
||||
(the-as process (as-type (-> v1-3 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (and a0-1 (>= (vector-vector-xz-distance (get-trans (the-as process-focusable a0-1) 0) (target-pos 0))
|
||||
@@ -828,22 +775,14 @@
|
||||
(function halt-wait-spot hal symbol)
|
||||
(lambda ((arg0 object) (arg1 hal-escort))
|
||||
(let* ((v1-3 (-> arg1 actor-group 0 data 1 actor))
|
||||
(s4-0 (when v1-3
|
||||
(let ((s5-0 (-> v1-3 extra process)))
|
||||
(if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
(s4-0 (if v1-3
|
||||
(the-as process (as-type (-> v1-3 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(v1-8 (-> arg1 actor-group 0 data 2 actor))
|
||||
(s5-1 (when v1-8
|
||||
(let ((s3-0 (-> v1-8 extra process)))
|
||||
(if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
(s5-1 (if v1-8
|
||||
(the-as process (as-type (-> v1-8 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(v1-10 (the-as process *traffic-manager*))
|
||||
)
|
||||
@@ -939,13 +878,9 @@
|
||||
(local-vars (v1-14 symbol))
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector)))
|
||||
(let* ((v1-3 (-> arg1 actor-group 0 data 1 actor))
|
||||
(a0-1 (when v1-3
|
||||
(let ((s4-0 (-> v1-3 extra process)))
|
||||
(if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
(a0-1 (if v1-3
|
||||
(the-as process (as-type (-> v1-3 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when a0-1
|
||||
@@ -1017,13 +952,9 @@
|
||||
)
|
||||
(when (speech-playing? arg1 3)
|
||||
(let* ((v1-27 (-> arg1 actor-group 0 data 2 actor))
|
||||
(a0-11 (when v1-27
|
||||
(let ((s5-0 (-> v1-27 extra process)))
|
||||
(if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
(a0-11 (if v1-27
|
||||
(the-as process (as-type (-> v1-27 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (and a0-11 (>= (the-as int (send-event a0-11 'query 'waypoint)) 6))
|
||||
@@ -1071,13 +1002,9 @@
|
||||
(return #t)
|
||||
)
|
||||
(let* ((v1-25 (-> arg1 actor-group 0 data 2 actor))
|
||||
(a0-9 (when v1-25
|
||||
(let ((s5-0 (-> v1-25 extra process)))
|
||||
(if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
(a0-9 (if v1-25
|
||||
(the-as process (as-type (-> v1-25 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (and a0-9 (>= (the-as int (send-event a0-9 'query 'waypoint)) 15))
|
||||
@@ -1131,22 +1058,14 @@
|
||||
(return #t)
|
||||
)
|
||||
(let* ((v1-38 (-> arg1 actor-group 0 data 1 actor))
|
||||
(s4-0 (when v1-38
|
||||
(let ((s5-0 (-> v1-38 extra process)))
|
||||
(if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
(s4-0 (if v1-38
|
||||
(the-as process (as-type (-> v1-38 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(v1-43 (-> arg1 actor-group 0 data 2 actor))
|
||||
(s5-1 (when v1-43
|
||||
(let ((s3-0 (-> v1-43 extra process)))
|
||||
(if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
(s5-1 (if v1-43
|
||||
(the-as process (as-type (-> v1-43 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(a0-16 s4-0)
|
||||
)
|
||||
@@ -1201,22 +1120,14 @@
|
||||
(ai-task-control-method-12 (-> arg0 ai-ctrl) arg0)
|
||||
(send-event *target* 'continue (get-continue-by-name *game-info* "lkiddoge-skip0"))
|
||||
(let* ((v1-16 (-> arg0 actor-group 0 data 2 actor))
|
||||
(s5-1 (when v1-16
|
||||
(let ((s4-0 (-> v1-16 extra process)))
|
||||
(if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
(s5-1 (if v1-16
|
||||
(the-as process (as-type (-> v1-16 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(v1-21 (-> arg0 actor-group 0 data 1 actor))
|
||||
(s4-1 (when v1-21
|
||||
(let ((s3-0 (-> v1-21 extra process)))
|
||||
(if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
(s4-1 (if v1-21
|
||||
(the-as process (as-type (-> v1-21 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(send-event s5-1 'skip)
|
||||
@@ -1266,31 +1177,18 @@
|
||||
(return #t)
|
||||
)
|
||||
(let* ((v1-45 (-> arg1 actor-group 0 data 1 actor))
|
||||
(s5-0 (when v1-45
|
||||
(let ((s4-0 (-> v1-45 extra process)))
|
||||
(if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
(s5-0 (if v1-45
|
||||
(the-as process (as-type (-> v1-45 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(v1-50 (-> arg1 actor-group 0 data 2 actor))
|
||||
(s4-1 (when v1-50
|
||||
(let ((s3-0 (-> v1-50 extra process)))
|
||||
(if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
(s4-1 (if v1-50
|
||||
(the-as process (as-type (-> v1-50 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-1 #f))
|
||||
(let* ((s1-0 (handle->process (-> arg1 vehicle-handle)))
|
||||
(s2-0 (if (type? s1-0 process-focusable)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s2-0 (the-as process (as-type (handle->process (-> arg1 vehicle-handle)) process-focusable))))
|
||||
(when s2-0
|
||||
(let ((s1-1 (get-trans (the-as process-focusable s2-0) 0))
|
||||
(s0-0 (-> arg1 hal4-course spots 7))
|
||||
@@ -1390,42 +1288,36 @@
|
||||
(set! (-> v1-1 bytes 6) 7)
|
||||
(set! (-> v1-1 bytes 4) 0)
|
||||
(set! (-> (the-as halt-wait-spot v1-1) check-done)
|
||||
(the-as (function halt-wait-spot hal symbol) (lambda ((arg0 object) (arg1 hal-escort))
|
||||
(if (!= (level-status *level* 'ctyinda) 'active)
|
||||
(set-time! (-> arg1 waypoint-time0))
|
||||
)
|
||||
(when (time-elapsed? (-> arg1 waypoint-time0) (seconds 0.25))
|
||||
(let* ((v1-11 (-> arg1 actor-group 0 data 2 actor))
|
||||
(s5-1 (when v1-11
|
||||
(let ((s4-0 (-> v1-11 extra process)))
|
||||
(if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(v1-16 (-> arg1 actor-group 0 data 1 actor))
|
||||
(s4-1 (when v1-16
|
||||
(let ((s3-0 (-> v1-16 extra process)))
|
||||
(if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(send-event s5-1 'hide #f)
|
||||
(send-event s4-1 'hide #f)
|
||||
(send-event s5-1 'skip)
|
||||
(send-event s4-1 'skip)
|
||||
)
|
||||
(ai-task-control-method-12 (-> arg1 ai-ctrl) arg1)
|
||||
(go-to-waypoint! arg1 19 #f)
|
||||
(ai-task-control-method-10 (-> arg1 ai-ctrl) arg1)
|
||||
#t
|
||||
)
|
||||
)
|
||||
(the-as
|
||||
(function halt-wait-spot hal symbol)
|
||||
(lambda ((arg0 object) (arg1 hal-escort))
|
||||
(if (!= (level-status *level* 'ctyinda) 'active)
|
||||
(set-time! (-> arg1 waypoint-time0))
|
||||
)
|
||||
(when (time-elapsed? (-> arg1 waypoint-time0) (seconds 0.25))
|
||||
(let* ((v1-11 (-> arg1 actor-group 0 data 2 actor))
|
||||
(s5-1 (if v1-11
|
||||
(the-as process (as-type (-> v1-11 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
(v1-16 (-> arg1 actor-group 0 data 1 actor))
|
||||
(s4-1 (if v1-16
|
||||
(the-as process (as-type (-> v1-16 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(send-event s5-1 'hide #f)
|
||||
(send-event s4-1 'hide #f)
|
||||
(send-event s5-1 'skip)
|
||||
(send-event s4-1 'skip)
|
||||
)
|
||||
(ai-task-control-method-12 (-> arg1 ai-ctrl) arg1)
|
||||
(go-to-waypoint! arg1 19 #f)
|
||||
(ai-task-control-method-10 (-> arg1 ai-ctrl) arg1)
|
||||
#t
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(none)
|
||||
@@ -1436,22 +1328,14 @@
|
||||
(reset-warn-time! arg0)
|
||||
(ai-task-control-method-12 (-> arg0 ai-ctrl) arg0)
|
||||
(let* ((v1-10 (-> arg0 actor-group 0 data 2 actor))
|
||||
(s5-0 (when v1-10
|
||||
(let ((s4-0 (-> v1-10 extra process)))
|
||||
(if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
(s5-0 (if v1-10
|
||||
(the-as process (as-type (-> v1-10 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(v1-15 (-> arg0 actor-group 0 data 1 actor))
|
||||
(s4-1 (when v1-15
|
||||
(let ((s3-0 (-> v1-15 extra process)))
|
||||
(if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
(s4-1 (if v1-15
|
||||
(the-as process (as-type (-> v1-15 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(vector-reset! (-> (the-as process-focusable s5-0) root transv))
|
||||
@@ -1502,22 +1386,14 @@
|
||||
(return #t)
|
||||
)
|
||||
(let* ((v1-27 (-> arg1 actor-group 0 data 2 actor))
|
||||
(s4-0 (when v1-27
|
||||
(let ((s5-0 (-> v1-27 extra process)))
|
||||
(if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
(s4-0 (if v1-27
|
||||
(the-as process (as-type (-> v1-27 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(v1-32 (-> arg1 actor-group 0 data 1 actor))
|
||||
(s5-1 (when v1-32
|
||||
(let ((s3-0 (-> v1-32 extra process)))
|
||||
(if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
(s5-1 (if v1-32
|
||||
(the-as process (as-type (-> v1-32 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (and (and s4-0 (>= (the-as int (send-event s4-0 'query 'waypoint)) 25))
|
||||
@@ -1548,22 +1424,14 @@
|
||||
(send-event arg0 'move-trans (-> arg0 hal4-course spots 7))
|
||||
(send-event *target* 'continue (get-continue-by-name *game-info* "lkiddoge-skip1"))
|
||||
(let* ((v1-23 (-> arg0 actor-group 0 data 2 actor))
|
||||
(s5-1 (when v1-23
|
||||
(let ((s4-0 (-> v1-23 extra process)))
|
||||
(if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
(s5-1 (if v1-23
|
||||
(the-as process (as-type (-> v1-23 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(v1-28 (-> arg0 actor-group 0 data 1 actor))
|
||||
(gp-1 (when v1-28
|
||||
(let ((s4-1 (-> v1-28 extra process)))
|
||||
(if (type? s4-1 process-focusable)
|
||||
s4-1
|
||||
)
|
||||
(gp-1 (if v1-28
|
||||
(the-as process (as-type (-> v1-28 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(send-event s5-1 'skip)
|
||||
@@ -1609,22 +1477,14 @@
|
||||
)
|
||||
(when (not (hal-escort-method-230 arg1))
|
||||
(let* ((v1-34 (-> arg1 actor-group 0 data 2 actor))
|
||||
(s4-1 (when v1-34
|
||||
(let ((s3-1 (-> v1-34 extra process)))
|
||||
(if (type? s3-1 process-focusable)
|
||||
s3-1
|
||||
)
|
||||
(s4-1 (if v1-34
|
||||
(the-as process (as-type (-> v1-34 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(v1-39 (-> arg1 actor-group 0 data 1 actor))
|
||||
(s3-2 (when v1-39
|
||||
(let ((s2-0 (-> v1-39 extra process)))
|
||||
(if (type? s2-0 process-focusable)
|
||||
s2-0
|
||||
)
|
||||
(s3-2 (if v1-39
|
||||
(the-as process (as-type (-> v1-39 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (and (process-grab? s4-1 #t)
|
||||
@@ -1741,23 +1601,15 @@
|
||||
(time-elapsed? (-> arg1 waypoint-time0) (seconds 1.2))
|
||||
)
|
||||
(let* ((v1-55 (-> arg1 actor-group 0 data 2 actor))
|
||||
(s5-1 (when v1-55
|
||||
(let ((s4-0 (-> v1-55 extra process)))
|
||||
(if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
(s5-1 (if v1-55
|
||||
(the-as process (as-type (-> v1-55 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((v1-60 (-> arg1 actor-group 0 data 1 actor))
|
||||
(a0-16 (when v1-60
|
||||
(let ((s4-1 (-> v1-60 extra process)))
|
||||
(if (type? s4-1 process-focusable)
|
||||
s4-1
|
||||
)
|
||||
(a0-16 (if v1-60
|
||||
(the-as process (as-type (-> v1-60 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(logior! (-> arg1 waypoint-bits) (waypoint-bits wabits-0))
|
||||
@@ -1832,13 +1684,9 @@
|
||||
(when gp-0
|
||||
(logior! (-> arg0 waypoint-bits) (waypoint-bits wabits-0))
|
||||
(let* ((v1-8 (-> arg0 actor-group 0 data 1 actor))
|
||||
(a0-3 (when v1-8
|
||||
(let ((s5-1 (-> v1-8 extra process)))
|
||||
(if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
(a0-3 (if v1-8
|
||||
(the-as process (as-type (-> v1-8 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(send-event a0-3 'instant-arrest gp-0)
|
||||
@@ -1907,13 +1755,9 @@
|
||||
(remove-setting! 'music)
|
||||
(remove-setting! 'sound-mode)
|
||||
(let* ((v1-7 (-> arg0 actor-group 0 data 2 actor))
|
||||
(a0-3 (when v1-7
|
||||
(let ((s5-0 (-> v1-7 extra process)))
|
||||
(if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
(a0-3 (if v1-7
|
||||
(the-as process (as-type (-> v1-7 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(send-event a0-3 'request 'too-far-fail)
|
||||
@@ -1970,13 +1814,9 @@
|
||||
(when gp-0
|
||||
(logior! (-> arg0 waypoint-bits) (waypoint-bits wabits-0))
|
||||
(let* ((v1-8 (-> arg0 actor-group 0 data 1 actor))
|
||||
(a0-3 (when v1-8
|
||||
(let ((s5-1 (-> v1-8 extra process)))
|
||||
(if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
(a0-3 (if v1-8
|
||||
(the-as process (as-type (-> v1-8 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(send-event a0-3 'instant-arrest gp-0)
|
||||
|
||||
+58
-98
@@ -31,13 +31,9 @@
|
||||
(go-waiting-turn self)
|
||||
(b! #t cfg-15 :delay (nop!))
|
||||
(label cfg-6)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(if (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
)
|
||||
(if (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
(label cfg-15)
|
||||
(when (not (focus-test? self grabbed))
|
||||
(cond
|
||||
@@ -100,14 +96,9 @@
|
||||
(bot-method-223 self #f)
|
||||
(when (not (focus-test? self grabbed))
|
||||
(if (and (not (outside-spot-radius? self (the-as bot-spot #f) (the-as vector #f) #f))
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(and (not (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
(not (logtest? (-> self bot-flags) (bot-flags bf15)))
|
||||
)
|
||||
)
|
||||
(and (not (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable)))
|
||||
(not (logtest? (-> self bot-flags) (bot-flags bf15)))
|
||||
)
|
||||
)
|
||||
(go-virtual traveling)
|
||||
)
|
||||
@@ -152,26 +143,22 @@
|
||||
)
|
||||
:trans (behavior ()
|
||||
(bot-method-223 self #f)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(cond
|
||||
((if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((logtest? (-> self bot-flags) (bot-flags bf15))
|
||||
(go-virtual move-to-vehicle)
|
||||
)
|
||||
((outside-spot-radius? self (the-as bot-spot #f) (the-as vector #f) #t)
|
||||
(check-arrest self)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 0.5)) (bot-method-208 self))
|
||||
(go-virtual traveling-blocked)
|
||||
)
|
||||
((and (nav-enemy-method-163 self) (time-elapsed? (-> self state-time) (-> self reaction-time)))
|
||||
(go-stare2 self)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((logtest? (-> self bot-flags) (bot-flags bf15))
|
||||
(go-virtual move-to-vehicle)
|
||||
)
|
||||
((outside-spot-radius? self (the-as bot-spot #f) (the-as vector #f) #t)
|
||||
(check-arrest self)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 0.5)) (bot-method-208 self))
|
||||
(go-virtual traveling-blocked)
|
||||
)
|
||||
((and (nav-enemy-method-163 self) (time-elapsed? (-> self state-time) (-> self reaction-time)))
|
||||
(go-stare2 self)
|
||||
)
|
||||
)
|
||||
0
|
||||
)
|
||||
@@ -221,28 +208,24 @@
|
||||
:trans (behavior ()
|
||||
(bot-method-223 self #f)
|
||||
(let ((gp-0 (handle->process (-> self vehicle-handle))))
|
||||
(let ((s5-0 (handle->process (-> self arrestor-handle))))
|
||||
(cond
|
||||
((if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((or (not gp-0)
|
||||
(logtest? (-> (the-as vehicle gp-0) flags) (rigid-body-object-flag dead))
|
||||
(not (logtest? (-> self bot-flags) (bot-flags bf15)))
|
||||
(< (-> self vehicle-seat-index) 0)
|
||||
)
|
||||
(logclear! (-> self bot-flags) (bot-flags bf15))
|
||||
(check-arrest self)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 0.5)) (bot-method-208 self))
|
||||
(go-virtual traveling-blocked)
|
||||
)
|
||||
((and (nav-enemy-method-163 self) (time-elapsed? (-> self state-time) (-> self reaction-time)))
|
||||
(go-stare2 self)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((or (not gp-0)
|
||||
(logtest? (-> (the-as vehicle gp-0) flags) (rigid-body-object-flag dead))
|
||||
(not (logtest? (-> self bot-flags) (bot-flags bf15)))
|
||||
(< (-> self vehicle-seat-index) 0)
|
||||
)
|
||||
(logclear! (-> self bot-flags) (bot-flags bf15))
|
||||
(check-arrest self)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 0.5)) (bot-method-208 self))
|
||||
(go-virtual traveling-blocked)
|
||||
)
|
||||
((and (nav-enemy-method-163 self) (time-elapsed? (-> self state-time) (-> self reaction-time)))
|
||||
(go-stare2 self)
|
||||
)
|
||||
)
|
||||
(let ((s5-1 (new 'stack-no-clear 'inline-array 'matrix 2)))
|
||||
(compute-seat-position (the-as vehicle gp-0) (the-as vector (-> s5-1 0)) (-> self vehicle-seat-index))
|
||||
@@ -698,20 +681,16 @@
|
||||
)
|
||||
:trans (behavior ()
|
||||
(bot-method-223 self #f)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(cond
|
||||
((if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 1)) (not (bot-method-208 self)))
|
||||
(if (logtest? (-> self bot-flags) (bot-flags bf15))
|
||||
(go-virtual move-to-vehicle)
|
||||
(go-virtual traveling)
|
||||
)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 1)) (not (bot-method-208 self)))
|
||||
(if (logtest? (-> self bot-flags) (bot-flags bf15))
|
||||
(go-virtual move-to-vehicle)
|
||||
(go-virtual traveling)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
:code (-> (method-of-type kid-escort waiting-idle) code)
|
||||
@@ -735,13 +714,9 @@
|
||||
)
|
||||
:trans (behavior ()
|
||||
(bot-method-223 self #f)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(if (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
)
|
||||
(if (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
(when (time-elapsed? (-> self state-time) (seconds 0.1))
|
||||
(when (not (nav-enemy-method-163 self))
|
||||
(if (logtest? (-> self bot-flags) (bot-flags bf15))
|
||||
@@ -845,14 +820,9 @@
|
||||
(go-waiting-turn self)
|
||||
)
|
||||
(when (not (focus-test? self grabbed))
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(if (not (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
(react-to-focus self)
|
||||
)
|
||||
)
|
||||
(if (not (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable)))
|
||||
(react-to-focus self)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -862,12 +832,7 @@
|
||||
(cond
|
||||
((logtest? (bot-flags bf19) (-> self bot-flags))
|
||||
(fail-mission! self)
|
||||
(let* ((gp-0 (handle->process (-> self arrestor-handle)))
|
||||
(v1-7 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-7 (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))))
|
||||
(if v1-7
|
||||
(logclear! (-> (the-as crimson-guard v1-7) enemy-flags) (enemy-flag vulnerable vulnerable-backup))
|
||||
)
|
||||
@@ -902,12 +867,7 @@
|
||||
#f
|
||||
(label cfg-27)
|
||||
(fail-mission! self)
|
||||
(let* ((gp-1 (handle->process (-> self arrestor-handle)))
|
||||
(v1-93 (if (type? gp-1 process-focusable)
|
||||
gp-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-93 (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))))
|
||||
(if v1-93
|
||||
(logclear! (-> (the-as crimson-guard v1-93) enemy-flags) (enemy-flag vulnerable vulnerable-backup))
|
||||
)
|
||||
|
||||
+5
-30
@@ -4,12 +4,7 @@
|
||||
;; definition for function kid4-update-spot-to-track-crocadog
|
||||
;; WARN: Return type mismatch float vs none.
|
||||
(defun kid4-update-spot-to-track-crocadog ((arg0 kid-escort))
|
||||
(let* ((s5-0 (handle->process (-> arg0 crocadog-handle)))
|
||||
(a0-5 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-5 (the-as process (as-type (handle->process (-> arg0 crocadog-handle)) process-focusable))))
|
||||
(when a0-5
|
||||
(let ((v1-4 (get-trans (the-as process-focusable a0-5) 0))
|
||||
(a0-6 (-> arg0 spot))
|
||||
@@ -101,12 +96,7 @@
|
||||
(the-as
|
||||
(function kidesct-wait-spot kid-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 kid-escort))
|
||||
(let* ((s5-0 (handle->process (-> arg1 crocadog-handle)))
|
||||
(a0-5 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-5 (the-as process (as-type (handle->process (-> arg1 crocadog-handle)) process-focusable))))
|
||||
(when (and a0-5 (>= (the-as int (send-event a0-5 'query 'waypoint)) 17))
|
||||
(ai-task-control-method-12 (-> arg1 ai-ctrl) arg1)
|
||||
(go-to-waypoint! arg1 17 #f)
|
||||
@@ -137,12 +127,7 @@
|
||||
(the-as
|
||||
(function kidesct-wait-spot kid-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 kid-escort))
|
||||
(let* ((s5-0 (handle->process (-> arg1 crocadog-handle)))
|
||||
(a0-5 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-5 (the-as process (as-type (handle->process (-> arg1 crocadog-handle)) process-focusable))))
|
||||
(when (and a0-5 (>= (the-as int (send-event a0-5 'query 'waypoint)) 17))
|
||||
(ai-task-control-method-12 (-> arg1 ai-ctrl) arg1)
|
||||
(go-to-waypoint! arg1 17 #f)
|
||||
@@ -242,12 +227,7 @@
|
||||
(the-as
|
||||
(function kidesct-wait-spot kid-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 kid-escort))
|
||||
(let* ((s5-0 (handle->process (-> arg1 crocadog-handle)))
|
||||
(a0-5 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-5 (the-as process (as-type (handle->process (-> arg1 crocadog-handle)) process-focusable))))
|
||||
(when (and a0-5 (>= (the-as int (send-event a0-5 'query 'waypoint)) 21))
|
||||
(ai-task-control-method-12 (-> arg1 ai-ctrl) arg1)
|
||||
(go-to-waypoint! arg1 21 #f)
|
||||
@@ -290,12 +270,7 @@
|
||||
(the-as
|
||||
(function kidesct-wait-spot kid-escort symbol)
|
||||
(lambda ((arg0 object) (arg1 kid-escort))
|
||||
(let* ((s4-0 (handle->process (-> arg1 crocadog-handle)))
|
||||
(s5-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (the-as process (as-type (handle->process (-> arg1 crocadog-handle)) process-focusable))))
|
||||
(when (and (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f)
|
||||
s5-0
|
||||
(>= (the-as int (send-event s5-0 'query 'waypoint)) 25)
|
||||
|
||||
+15
-42
@@ -182,12 +182,7 @@
|
||||
@TODO - unsure if there is a pattern for the events and this should have a more specific name"
|
||||
(case arg2
|
||||
(('arrest)
|
||||
(let* ((s4-0 (handle->process (-> this arrestor-handle)))
|
||||
(v1-4 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-4 (the-as process (as-type (handle->process (-> this arrestor-handle)) process-focusable))))
|
||||
(when (or (not v1-4) (= v1-4 arg0) (and (!= v1-4 arg0) (time-elapsed? (-> this arrest-attempt-time) (seconds 0.1))))
|
||||
(set! (-> this arrestor-handle) (process->handle arg0))
|
||||
(set-time! (-> this arrest-attempt-time))
|
||||
@@ -241,17 +236,9 @@
|
||||
|
||||
;; definition for method 97 of type kid-escort
|
||||
(defmethod enemy-method-97 ((this kid-escort))
|
||||
(let* ((s4-0 (handle->process (-> this attacker-handle)))
|
||||
(s5-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
(s3-0 (handle->process (-> this arrestor-handle)))
|
||||
(s4-1 (if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (the-as process (as-type (handle->process (-> this attacker-handle)) process-focusable)))
|
||||
(s4-1 (the-as process (as-type (handle->process (-> this arrestor-handle)) process-focusable)))
|
||||
)
|
||||
(when s5-0
|
||||
(cond
|
||||
((= (-> s5-0 type) target)
|
||||
@@ -297,12 +284,7 @@
|
||||
(empty)
|
||||
)
|
||||
(else
|
||||
(let ((s5-1 (handle->process (-> this poi-handle))))
|
||||
(set! s3-1 (if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s3-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable)))
|
||||
(if s3-1
|
||||
(empty)
|
||||
(set! s3-1 *target*)
|
||||
@@ -319,12 +301,7 @@
|
||||
(set! s3-1 s5-0)
|
||||
)
|
||||
(else
|
||||
(let ((s5-2 (handle->process (-> this poi-handle))))
|
||||
(set! s3-1 (if (type? s5-2 process-focusable)
|
||||
s5-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s3-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable)))
|
||||
(cond
|
||||
(s3-1
|
||||
(empty)
|
||||
@@ -531,19 +508,15 @@
|
||||
;; definition for method 236 of type kid-escort
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod check-arrest ((this kid-escort))
|
||||
(let ((s5-0 (handle->process (-> this arrestor-handle))))
|
||||
(cond
|
||||
((if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
(go (method-of-object this arrested))
|
||||
)
|
||||
((logtest? (-> this bot-flags) (bot-flags bf15))
|
||||
(go (method-of-object this move-to-vehicle))
|
||||
)
|
||||
(else
|
||||
(go (method-of-object this waiting-idle))
|
||||
)
|
||||
(cond
|
||||
((the-as process (as-type (handle->process (-> this arrestor-handle)) process-focusable))
|
||||
(go (method-of-object this arrested))
|
||||
)
|
||||
((logtest? (-> this bot-flags) (bot-flags bf15))
|
||||
(go (method-of-object this move-to-vehicle))
|
||||
)
|
||||
(else
|
||||
(go (method-of-object this waiting-idle))
|
||||
)
|
||||
)
|
||||
(none)
|
||||
|
||||
+24
-24
@@ -2559,12 +2559,12 @@
|
||||
)
|
||||
((zero? (-> self data-int32 s5-2))
|
||||
(when (the-as city-lurker s4-2)
|
||||
(let* ((s2-0 (entity-nav-mesh-by-aid (the-as actor-id (-> (the-as city-lurker s4-2) nav-mesh-aid))))
|
||||
(s3-2 (if (type? s2-0 entity-nav-mesh)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-2 (as-type
|
||||
(entity-nav-mesh-by-aid (the-as actor-id (-> (the-as city-lurker s4-2) nav-mesh-aid)))
|
||||
entity-nav-mesh
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (and s3-2 (!= (-> (the-as city-lurker s4-2) nav state mesh) (-> s3-2 nav-mesh)))
|
||||
(when (nonzero? (-> (the-as city-lurker s4-2) nav state mesh))
|
||||
(remove-process-drawable (-> (the-as city-lurker s4-2) nav state mesh) (the-as city-lurker s4-2))
|
||||
@@ -2674,12 +2674,12 @@
|
||||
)
|
||||
)
|
||||
((= (-> self data-int32 s5-2) 2)
|
||||
(let* ((s3-8 (entity-nav-mesh-by-aid (the-as actor-id (-> (the-as city-lurker s4-2) nav-mesh-aid))))
|
||||
(a0-116 (if (type? s3-8 entity-nav-mesh)
|
||||
s3-8
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-116 (as-type
|
||||
(entity-nav-mesh-by-aid (the-as actor-id (-> (the-as city-lurker s4-2) nav-mesh-aid)))
|
||||
entity-nav-mesh
|
||||
)
|
||||
)
|
||||
)
|
||||
(if a0-116
|
||||
(change-to (-> a0-116 nav-mesh) (the-as city-lurker s4-2))
|
||||
)
|
||||
@@ -3140,12 +3140,12 @@
|
||||
)
|
||||
((zero? (-> self data-int32 s5-3))
|
||||
(when (the-as city-lurker s4-2)
|
||||
(let* ((s2-0 (entity-nav-mesh-by-aid (the-as actor-id (-> (the-as city-lurker s4-2) nav-mesh-aid))))
|
||||
(s3-2 (if (type? s2-0 entity-nav-mesh)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-2 (as-type
|
||||
(entity-nav-mesh-by-aid (the-as actor-id (-> (the-as city-lurker s4-2) nav-mesh-aid)))
|
||||
entity-nav-mesh
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (and s3-2 (!= (-> (the-as city-lurker s4-2) nav state mesh) (-> s3-2 nav-mesh)))
|
||||
(when (nonzero? (-> (the-as city-lurker s4-2) nav state mesh))
|
||||
(remove-process-drawable (-> (the-as city-lurker s4-2) nav state mesh) (the-as city-lurker s4-2))
|
||||
@@ -3258,12 +3258,12 @@
|
||||
)
|
||||
)
|
||||
((= (-> self data-int32 s5-3) 2)
|
||||
(let* ((s3-6 (entity-nav-mesh-by-aid (the-as actor-id (-> (the-as city-lurker s4-2) nav-mesh-aid))))
|
||||
(a0-134 (if (type? s3-6 entity-nav-mesh)
|
||||
s3-6
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-134 (as-type
|
||||
(entity-nav-mesh-by-aid (the-as actor-id (-> (the-as city-lurker s4-2) nav-mesh-aid)))
|
||||
entity-nav-mesh
|
||||
)
|
||||
)
|
||||
)
|
||||
(if a0-134
|
||||
(change-to (-> a0-134 nav-mesh) (the-as city-lurker s4-2))
|
||||
)
|
||||
|
||||
+1
-6
@@ -2407,12 +2407,7 @@
|
||||
(s2-0 (-> this child))
|
||||
)
|
||||
(while s2-0
|
||||
(let* ((s1-0 (ppointer->process s2-0))
|
||||
(v1-2 (if (type? s1-0 onin-game-bubble)
|
||||
(the-as onin-game-bubble s1-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-2 (as-type (ppointer->process s2-0) onin-game-bubble)))
|
||||
(when (and v1-2 (= (-> v1-2 bubble-type) arg0) (or (not s4-0) (< (-> v1-2 bubble-start-time) s3-0)))
|
||||
(set! s4-0 v1-2)
|
||||
(set! s3-0 (the-as int (-> v1-2 bubble-start-time)))
|
||||
|
||||
+12
-36
@@ -80,15 +80,9 @@
|
||||
)
|
||||
)
|
||||
(set! (-> gp-1 flags) (font-flags shadow kerning large))
|
||||
(let ((v1-14 gp-1))
|
||||
(set! (-> v1-14 width) (the float 440))
|
||||
)
|
||||
(let ((v1-15 gp-1))
|
||||
(set! (-> v1-15 height) (the float 80))
|
||||
)
|
||||
(let ((v1-16 gp-1))
|
||||
(set! (-> v1-16 scale) 0.7)
|
||||
)
|
||||
(set-width! gp-1 440)
|
||||
(set-height! gp-1 80)
|
||||
(set-scale! gp-1 0.7)
|
||||
(let ((s5-0 print-game-text))
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (text-id oracle-tutorial-dark-bomb) #f))
|
||||
(s5-0 *temp-string* gp-1 #f 44 (bucket-id progress))
|
||||
@@ -178,15 +172,9 @@
|
||||
)
|
||||
)
|
||||
(set! (-> gp-1 flags) (font-flags shadow kerning large))
|
||||
(let ((v1-14 gp-1))
|
||||
(set! (-> v1-14 width) (the float 440))
|
||||
)
|
||||
(let ((v1-15 gp-1))
|
||||
(set! (-> v1-15 height) (the float 80))
|
||||
)
|
||||
(let ((v1-16 gp-1))
|
||||
(set! (-> v1-16 scale) 0.7)
|
||||
)
|
||||
(set-width! gp-1 440)
|
||||
(set-height! gp-1 80)
|
||||
(set-scale! gp-1 0.7)
|
||||
(let ((s5-0 print-game-text))
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (text-id oracle-tutorial-dark-blast) #f))
|
||||
(s5-0 *temp-string* gp-1 #f 44 (bucket-id progress))
|
||||
@@ -256,15 +244,9 @@
|
||||
)
|
||||
)
|
||||
(set! (-> gp-1 flags) (font-flags shadow kerning large))
|
||||
(let ((v1-14 gp-1))
|
||||
(set! (-> v1-14 width) (the float 440))
|
||||
)
|
||||
(let ((v1-15 gp-1))
|
||||
(set! (-> v1-15 height) (the float 80))
|
||||
)
|
||||
(let ((v1-16 gp-1))
|
||||
(set! (-> v1-16 scale) 0.7)
|
||||
)
|
||||
(set-width! gp-1 440)
|
||||
(set-height! gp-1 80)
|
||||
(set-scale! gp-1 0.7)
|
||||
(let ((s5-0 print-game-text))
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (text-id oracle-tutorial-dark-invincible) #f))
|
||||
(s5-0 *temp-string* gp-1 #f 44 (bucket-id progress))
|
||||
@@ -354,15 +336,9 @@
|
||||
)
|
||||
)
|
||||
(set! (-> gp-1 flags) (font-flags shadow kerning large))
|
||||
(let ((v1-14 gp-1))
|
||||
(set! (-> v1-14 width) (the float 440))
|
||||
)
|
||||
(let ((v1-15 gp-1))
|
||||
(set! (-> v1-15 height) (the float 80))
|
||||
)
|
||||
(let ((v1-16 gp-1))
|
||||
(set! (-> v1-16 scale) 0.7)
|
||||
)
|
||||
(set-width! gp-1 440)
|
||||
(set-height! gp-1 80)
|
||||
(set-scale! gp-1 0.7)
|
||||
(let ((s5-0 print-game-text))
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (text-id oracle-tutorial-dark-giant) #f))
|
||||
(s5-0 *temp-string* gp-1 #f 44 (bucket-id progress))
|
||||
|
||||
+1
-6
@@ -1973,12 +1973,7 @@
|
||||
(dotimes (s5-0 (-> self max-count))
|
||||
(when (zero? (-> self data-int32 s5-0))
|
||||
(when (-> self slave s5-0)
|
||||
(let* ((s3-0 (handle->process (-> self slave s5-0)))
|
||||
(s4-0 (if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-0 (the-as process (as-type (handle->process (-> self slave s5-0)) process-focusable))))
|
||||
(when (not gp-0)
|
||||
(set! gp-0 #t)
|
||||
(send-event s4-0 'focus-camera)
|
||||
|
||||
+1
-6
@@ -814,12 +814,7 @@
|
||||
:event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
|
||||
(case message
|
||||
(('touched)
|
||||
(let* ((s4-0 (-> (the-as vehicle proc) root))
|
||||
(gp-0 (if (type? s4-0 collide-shape-moving)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (as-type (-> (the-as vehicle proc) root) collide-shape-moving)))
|
||||
(when gp-0
|
||||
(let ((s4-1 (new 'stack-no-clear 'vehicle-control-point)))
|
||||
(set! (-> s4-1 local-pos quad) (-> gp-0 trans quad))
|
||||
|
||||
+1
-6
@@ -485,12 +485,7 @@
|
||||
(set! (-> s4-2 speeches?) #t)
|
||||
(set! (-> s3-2 y) 0.0)
|
||||
)
|
||||
(let* ((s5-2 (entity-nav-mesh-by-aid (the-as actor-id 9070)))
|
||||
(a0-16 (if (type? s5-2 entity-nav-mesh)
|
||||
s5-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-16 (as-type (entity-nav-mesh-by-aid (the-as actor-id 9070)) entity-nav-mesh)))
|
||||
(when a0-16
|
||||
(set! (-> s4-2 nav-mesh) (-> a0-16 nav-mesh))
|
||||
(set! (-> self slave gp-1) (ppointer->handle (process-spawn transport s4-2 :to self)))
|
||||
|
||||
+1
-6
@@ -1245,12 +1245,7 @@
|
||||
(let ((s2-0 (handle->process (-> arg0 slave s3-2))))
|
||||
(cond
|
||||
(s2-0
|
||||
(let* ((s1-0 (entity-nav-mesh-by-aid (-> (the-as citizen-rebel s2-0) nav-mesh-aid)))
|
||||
(s4-1 (if (type? s1-0 entity-nav-mesh)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-1 (as-type (entity-nav-mesh-by-aid (-> (the-as citizen-rebel s2-0) nav-mesh-aid)) entity-nav-mesh)))
|
||||
(cond
|
||||
(s4-1
|
||||
(when (focus-test? (the-as citizen-rebel s2-0) inactive)
|
||||
|
||||
+34
-69
@@ -31,13 +31,9 @@
|
||||
(kid-method-233 self)
|
||||
(b! #t cfg-15 :delay (nop!))
|
||||
(label cfg-6)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(if (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
)
|
||||
(if (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
(label cfg-15)
|
||||
(when (not (focus-test? self grabbed))
|
||||
(if (not (outside-spot-radius? self (the-as bot-spot #f) (the-as vector #f) #f))
|
||||
@@ -95,12 +91,7 @@
|
||||
(bot-method-223 self #f)
|
||||
(when (not (focus-test? self grabbed))
|
||||
(if (and (not (outside-spot-radius? self (the-as bot-spot #f) (the-as vector #f) #f))
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(not (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(not (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable)))
|
||||
)
|
||||
(go-virtual traveling)
|
||||
)
|
||||
@@ -256,13 +247,9 @@
|
||||
(kid-method-233 self)
|
||||
(b! #t cfg-15 :delay (nop!))
|
||||
(label cfg-6)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(if (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
)
|
||||
(if (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
(label cfg-15)
|
||||
(when (not (focus-test? self grabbed))
|
||||
(if (not (outside-spot-radius? self (the-as bot-spot #f) (the-as vector #f) #f))
|
||||
@@ -321,23 +308,19 @@
|
||||
)
|
||||
:trans (behavior ()
|
||||
(bot-method-223 self #f)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(cond
|
||||
((if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((outside-spot-radius? self (the-as bot-spot #f) (the-as vector #f) #t)
|
||||
(kid-method-232 self)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 0.5)) (bot-method-208 self))
|
||||
(go-virtual traveling-blocked)
|
||||
)
|
||||
((and (nav-enemy-method-163 self) (time-elapsed? (-> self state-time) (-> self reaction-time)))
|
||||
(go-stare2 self)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((outside-spot-radius? self (the-as bot-spot #f) (the-as vector #f) #t)
|
||||
(kid-method-232 self)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 0.5)) (bot-method-208 self))
|
||||
(go-virtual traveling-blocked)
|
||||
)
|
||||
((and (nav-enemy-method-163 self) (time-elapsed? (-> self state-time) (-> self reaction-time)))
|
||||
(go-stare2 self)
|
||||
)
|
||||
)
|
||||
0
|
||||
)
|
||||
@@ -383,17 +366,13 @@
|
||||
)
|
||||
:trans (behavior ()
|
||||
(bot-method-223 self #f)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(cond
|
||||
((if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 1)) (not (bot-method-208 self)))
|
||||
(go-virtual traveling)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 1)) (not (bot-method-208 self)))
|
||||
(go-virtual traveling)
|
||||
)
|
||||
)
|
||||
)
|
||||
:code (-> (method-of-type kid waiting-idle) code)
|
||||
@@ -417,13 +396,9 @@
|
||||
)
|
||||
:trans (behavior ()
|
||||
(bot-method-223 self #f)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(if (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
)
|
||||
(if (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
(when (time-elapsed? (-> self state-time) (seconds 0.1))
|
||||
(if (not (nav-enemy-method-163 self))
|
||||
(go-virtual traveling)
|
||||
@@ -528,14 +503,9 @@
|
||||
(kid-method-233 self)
|
||||
)
|
||||
(when (not (focus-test? self grabbed))
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(if (not (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
(react-to-focus self)
|
||||
)
|
||||
)
|
||||
(if (not (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable)))
|
||||
(react-to-focus self)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -551,12 +521,7 @@
|
||||
)
|
||||
)
|
||||
(fail-mission! self)
|
||||
(let* ((gp-0 (handle->process (-> self arrestor-handle)))
|
||||
(v1-32 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-32 (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))))
|
||||
(if v1-32
|
||||
(logclear! (-> (the-as crimson-guard v1-32) enemy-flags) (enemy-flag vulnerable vulnerable-backup))
|
||||
)
|
||||
|
||||
+15
-42
@@ -182,12 +182,7 @@
|
||||
@TODO - unsure if there is a pattern for the events and this should have a more specific name"
|
||||
(case arg2
|
||||
(('arrest)
|
||||
(let* ((s4-0 (handle->process (-> this arrestor-handle)))
|
||||
(v1-4 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-4 (the-as process (as-type (handle->process (-> this arrestor-handle)) process-focusable))))
|
||||
(when (or (not v1-4) (= v1-4 arg0) (and (!= v1-4 arg0) (time-elapsed? (-> this arrest-attempt-time) (seconds 0.1))))
|
||||
(set! (-> this arrestor-handle) (process->handle arg0))
|
||||
(set-time! (-> this arrest-attempt-time))
|
||||
@@ -227,17 +222,9 @@
|
||||
|
||||
;; definition for method 97 of type kid
|
||||
(defmethod enemy-method-97 ((this kid))
|
||||
(let* ((s4-0 (handle->process (-> this attacker-handle)))
|
||||
(s5-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
(s3-0 (handle->process (-> this arrestor-handle)))
|
||||
(s4-1 (if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (the-as process (as-type (handle->process (-> this attacker-handle)) process-focusable)))
|
||||
(s4-1 (the-as process (as-type (handle->process (-> this arrestor-handle)) process-focusable)))
|
||||
)
|
||||
(when s5-0
|
||||
(cond
|
||||
((= (-> s5-0 type) target)
|
||||
@@ -283,12 +270,7 @@
|
||||
(empty)
|
||||
)
|
||||
(else
|
||||
(let ((s5-1 (handle->process (-> this poi-handle))))
|
||||
(set! s3-1 (if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s3-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable)))
|
||||
(if s3-1
|
||||
(empty)
|
||||
(set! s3-1 *target*)
|
||||
@@ -305,12 +287,7 @@
|
||||
(set! s3-1 s5-0)
|
||||
)
|
||||
(else
|
||||
(let ((s5-2 (handle->process (-> this poi-handle))))
|
||||
(set! s3-1 (if (type? s5-2 process-focusable)
|
||||
s5-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s3-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable)))
|
||||
(cond
|
||||
(s3-1
|
||||
(empty)
|
||||
@@ -506,19 +483,15 @@
|
||||
;; definition for method 232 of type kid
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod kid-method-232 ((this kid))
|
||||
(let ((s5-0 (handle->process (-> this arrestor-handle))))
|
||||
(cond
|
||||
((if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
(go (method-of-object this arrested))
|
||||
)
|
||||
((logtest? (bot-flags bf19) (-> this bot-flags))
|
||||
(go (method-of-object this scared-idle))
|
||||
)
|
||||
(else
|
||||
(go (method-of-object this waiting-idle))
|
||||
)
|
||||
(cond
|
||||
((the-as process (as-type (handle->process (-> this arrestor-handle)) process-focusable))
|
||||
(go (method-of-object this arrested))
|
||||
)
|
||||
((logtest? (bot-flags bf19) (-> this bot-flags))
|
||||
(go (method-of-object this scared-idle))
|
||||
)
|
||||
(else
|
||||
(go (method-of-object this waiting-idle))
|
||||
)
|
||||
)
|
||||
(none)
|
||||
|
||||
+34
-69
@@ -31,13 +31,9 @@
|
||||
(kor-method-233 self)
|
||||
(b! #t cfg-15 :delay (nop!))
|
||||
(label cfg-6)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(if (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
)
|
||||
(if (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
(label cfg-15)
|
||||
(when (not (focus-test? self grabbed))
|
||||
(if (not (outside-spot-radius? self (the-as bot-spot #f) (the-as vector #f) #f))
|
||||
@@ -96,12 +92,7 @@
|
||||
(bot-method-223 self #f)
|
||||
(when (not (focus-test? self grabbed))
|
||||
(if (and (not (outside-spot-radius? self (the-as bot-spot #f) (the-as vector #f) #f))
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(not (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(not (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable)))
|
||||
)
|
||||
(go-virtual traveling)
|
||||
)
|
||||
@@ -267,13 +258,9 @@
|
||||
(kor-method-233 self)
|
||||
(b! #t cfg-15 :delay (nop!))
|
||||
(label cfg-6)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(if (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
)
|
||||
(if (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
(label cfg-15)
|
||||
(when (not (focus-test? self grabbed))
|
||||
(if (not (outside-spot-radius? self (the-as bot-spot #f) (the-as vector #f) #f))
|
||||
@@ -332,23 +319,19 @@
|
||||
)
|
||||
:trans (behavior ()
|
||||
(bot-method-223 self #f)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(cond
|
||||
((if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((outside-spot-radius? self (the-as bot-spot #f) (the-as vector #f) #t)
|
||||
(kor-method-232 self)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 0.5)) (bot-method-208 self))
|
||||
(go-virtual traveling-blocked)
|
||||
)
|
||||
((and (nav-enemy-method-163 self) (time-elapsed? (-> self state-time) (-> self reaction-time)))
|
||||
(go-stare2 self)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((outside-spot-radius? self (the-as bot-spot #f) (the-as vector #f) #t)
|
||||
(kor-method-232 self)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 0.5)) (bot-method-208 self))
|
||||
(go-virtual traveling-blocked)
|
||||
)
|
||||
((and (nav-enemy-method-163 self) (time-elapsed? (-> self state-time) (-> self reaction-time)))
|
||||
(go-stare2 self)
|
||||
)
|
||||
)
|
||||
0
|
||||
)
|
||||
@@ -394,17 +377,13 @@
|
||||
)
|
||||
:trans (behavior ()
|
||||
(bot-method-223 self #f)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(cond
|
||||
((if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 1)) (not (bot-method-208 self)))
|
||||
(go-virtual traveling)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
((and (time-elapsed? (-> self state-time) (seconds 1)) (not (bot-method-208 self)))
|
||||
(go-virtual traveling)
|
||||
)
|
||||
)
|
||||
)
|
||||
:code (-> (method-of-type kor waiting-idle) code)
|
||||
@@ -428,13 +407,9 @@
|
||||
)
|
||||
:trans (behavior ()
|
||||
(bot-method-223 self #f)
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(if (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual arrested)
|
||||
)
|
||||
)
|
||||
(if (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))
|
||||
(go-virtual arrested)
|
||||
)
|
||||
(when (time-elapsed? (-> self state-time) (seconds 0.1))
|
||||
(if (not (nav-enemy-method-163 self))
|
||||
(go-virtual traveling)
|
||||
@@ -539,14 +514,9 @@
|
||||
(kor-method-233 self)
|
||||
)
|
||||
(when (not (focus-test? self grabbed))
|
||||
(let ((gp-0 (handle->process (-> self arrestor-handle))))
|
||||
(if (not (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
(react-to-focus self)
|
||||
)
|
||||
)
|
||||
(if (not (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable)))
|
||||
(react-to-focus self)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -573,12 +543,7 @@
|
||||
)
|
||||
)
|
||||
(fail-mission! self)
|
||||
(let* ((gp-2 (handle->process (-> self arrestor-handle)))
|
||||
(v1-49 (if (type? gp-2 process-focusable)
|
||||
gp-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-49 (the-as process (as-type (handle->process (-> self arrestor-handle)) process-focusable))))
|
||||
(if v1-49
|
||||
(logclear! (-> (the-as crimson-guard v1-49) enemy-flags) (enemy-flag vulnerable vulnerable-backup))
|
||||
)
|
||||
|
||||
+15
-42
@@ -200,12 +200,7 @@
|
||||
@TODO - unsure if there is a pattern for the events and this should have a more specific name"
|
||||
(case arg2
|
||||
(('arrest)
|
||||
(let* ((s4-0 (handle->process (-> this arrestor-handle)))
|
||||
(v1-4 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-4 (the-as process (as-type (handle->process (-> this arrestor-handle)) process-focusable))))
|
||||
(when (or (not v1-4) (= v1-4 arg0) (and (!= v1-4 arg0) (time-elapsed? (-> this arrest-attempt-time) (seconds 0.1))))
|
||||
(set! (-> this arrestor-handle) (process->handle arg0))
|
||||
(set-time! (-> this arrest-attempt-time))
|
||||
@@ -240,17 +235,9 @@
|
||||
|
||||
;; definition for method 97 of type kor
|
||||
(defmethod enemy-method-97 ((this kor))
|
||||
(let* ((s4-0 (handle->process (-> this attacker-handle)))
|
||||
(s5-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
(s3-0 (handle->process (-> this arrestor-handle)))
|
||||
(s4-1 (if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (the-as process (as-type (handle->process (-> this attacker-handle)) process-focusable)))
|
||||
(s4-1 (the-as process (as-type (handle->process (-> this arrestor-handle)) process-focusable)))
|
||||
)
|
||||
(when s5-0
|
||||
(cond
|
||||
((= (-> s5-0 type) target)
|
||||
@@ -296,12 +283,7 @@
|
||||
(empty)
|
||||
)
|
||||
(else
|
||||
(let ((s5-1 (handle->process (-> this poi-handle))))
|
||||
(set! s3-1 (if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s3-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable)))
|
||||
(if s3-1
|
||||
(empty)
|
||||
(set! s3-1 *target*)
|
||||
@@ -318,12 +300,7 @@
|
||||
(set! s3-1 s5-0)
|
||||
)
|
||||
(else
|
||||
(let ((s5-2 (handle->process (-> this poi-handle))))
|
||||
(set! s3-1 (if (type? s5-2 process-focusable)
|
||||
s5-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s3-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable)))
|
||||
(cond
|
||||
(s3-1
|
||||
(empty)
|
||||
@@ -519,19 +496,15 @@
|
||||
;; definition for method 232 of type kor
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod kor-method-232 ((this kor))
|
||||
(let ((s5-0 (handle->process (-> this arrestor-handle))))
|
||||
(cond
|
||||
((if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
(go (method-of-object this arrested))
|
||||
)
|
||||
((logtest? (bot-flags bf19) (-> this bot-flags))
|
||||
(go (method-of-object this scared-idle))
|
||||
)
|
||||
(else
|
||||
(go (method-of-object this waiting-idle))
|
||||
)
|
||||
(cond
|
||||
((the-as process (as-type (handle->process (-> this arrestor-handle)) process-focusable))
|
||||
(go (method-of-object this arrested))
|
||||
)
|
||||
((logtest? (bot-flags bf19) (-> this bot-flags))
|
||||
(go (method-of-object this scared-idle))
|
||||
)
|
||||
(else
|
||||
(go (method-of-object this waiting-idle))
|
||||
)
|
||||
)
|
||||
(none)
|
||||
|
||||
+5
-19
@@ -67,13 +67,9 @@
|
||||
)
|
||||
(else
|
||||
(when (!= (-> arg0 type) target)
|
||||
(let* ((s3-0 (-> arg1 param 0))
|
||||
(s2-0 arg0)
|
||||
(v1-6 (if (type? s2-0 process-focusable)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-0 (-> arg1 param 0))
|
||||
(v1-6 (the-as process (as-type arg0 process-focusable)))
|
||||
)
|
||||
(cond
|
||||
((and (focus-test? this dangerous)
|
||||
(logtest? (process-mask guard civilian) (-> arg0 mask))
|
||||
@@ -185,19 +181,9 @@
|
||||
(let ((f30-0 122880.0))
|
||||
(let ((s3-0 (new 'stack-no-clear 'array 'collide-shape 64)))
|
||||
(countdown (s2-0 (fill-actor-list-for-sphere *actor-hash* (the-as sphere s5-0) s3-0 64))
|
||||
(let* ((s1-0 (-> s3-0 s2-0))
|
||||
(a0-6 (if (type? s1-0 collide-shape)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (as-type (-> s3-0 s2-0) collide-shape)))
|
||||
(when a0-6
|
||||
(let* ((s0-0 (-> a0-6 process))
|
||||
(s1-1 (if (type? s0-0 process-focusable)
|
||||
s0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-1 (the-as process-drawable (as-type (-> a0-6 process) process-focusable))))
|
||||
(when (and s1-1
|
||||
(!= this s1-1)
|
||||
(not (focus-test? (the-as process-focusable s1-1) inactive))
|
||||
|
||||
+1
-6
@@ -281,12 +281,7 @@
|
||||
)
|
||||
)
|
||||
(when v1-1
|
||||
(let* ((s5-0 (handle->process (-> this incoming attacker-handle)))
|
||||
(a2-5 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a2-5 (the-as process (as-type (handle->process (-> this incoming attacker-handle)) process-focusable))))
|
||||
(if a2-5
|
||||
(trigger-alert this 1 (the-as target a2-5))
|
||||
)
|
||||
|
||||
+33
-77
@@ -609,12 +609,7 @@
|
||||
(('hit 'hit-flinch 'hit-knocked)
|
||||
(speech-control-method-13 *speech-control* (the-as handle this))
|
||||
(logior! (-> this flags) (citizen-flag hostile))
|
||||
(let* ((s0-0 (handle->process (-> this incoming attacker-handle)))
|
||||
(s1-0 (if (type? s0-0 process-focusable)
|
||||
s0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-0 (the-as process (as-type (handle->process (-> this incoming attacker-handle)) process-focusable))))
|
||||
(when s1-0
|
||||
(speech-control-method-12 *speech-control* this (speech-type speech-type-11))
|
||||
(trigger-alert this 1 (the-as target s1-0))
|
||||
@@ -649,15 +644,10 @@
|
||||
(case (-> v1-38 danger-type)
|
||||
(((traffic-danger-type tdt7))
|
||||
(set! (-> this cp-factor) 20.0)
|
||||
(let ((s5-1 (method-of-object this trigger-alert))
|
||||
(s4-1 1)
|
||||
(s3-1 (handle->process (-> v1-38 handle)))
|
||||
)
|
||||
(s5-1 this s4-1 (the-as target (if (type? s3-1 process-focusable)
|
||||
s3-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(trigger-alert
|
||||
this
|
||||
1
|
||||
(the-as target (the-as process (as-type (handle->process (-> v1-38 handle)) process-focusable)))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1218,18 +1208,10 @@
|
||||
(case (-> arg0 behavior)
|
||||
((5)
|
||||
(logior! (-> this flags) (citizen-flag persistent hostile))
|
||||
(let ((s4-0 (-> this focus))
|
||||
(s3-0 (method-of-type enemy-focus enemy-focus-method-13))
|
||||
(s5-1 (handle->process (-> arg0 handle)))
|
||||
)
|
||||
(s3-0
|
||||
s4-0
|
||||
(the-as process-focusable (if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
(enemy-aware enemy-aware-3)
|
||||
)
|
||||
(enemy-focus-method-13
|
||||
(-> this focus)
|
||||
(the-as process-focusable (the-as process (as-type (handle->process (-> arg0 handle)) process-focusable)))
|
||||
(enemy-aware enemy-aware-3)
|
||||
)
|
||||
(go (method-of-object this arrest))
|
||||
)
|
||||
@@ -1565,22 +1547,18 @@
|
||||
((< (fill-and-probe-using-line-sphere *collide-cache* s5-0) 0.0)
|
||||
0
|
||||
)
|
||||
((and (the-as basic (as-type (-> s5-0 best-other-tri collide-ptr) collide-shape-prim))
|
||||
(< (vector-dot
|
||||
(-> s5-0 best-other-tri normal)
|
||||
(vector-! (new 'stack-no-clear 'vector) arg2 (the-as vector (-> s5-0 best-other-tri)))
|
||||
)
|
||||
0.0
|
||||
)
|
||||
)
|
||||
2
|
||||
)
|
||||
(else
|
||||
(let ((s4-1 (-> s5-0 best-other-tri collide-ptr)))
|
||||
(if (and (if (type? s4-1 collide-shape-prim)
|
||||
s4-1
|
||||
)
|
||||
(< (vector-dot
|
||||
(-> s5-0 best-other-tri normal)
|
||||
(vector-! (new 'stack-no-clear 'vector) arg2 (the-as vector (-> s5-0 best-other-tri)))
|
||||
)
|
||||
0.0
|
||||
)
|
||||
)
|
||||
2
|
||||
0
|
||||
)
|
||||
)
|
||||
0
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1614,12 +1592,8 @@
|
||||
(else
|
||||
(when (logtest? (enemy-flag multi-focus) (-> this enemy-flags))
|
||||
(logclear! (-> this enemy-flags) (enemy-flag multi-focus))
|
||||
(let* ((s5-0 (handle->process (-> this traffic-target-status handle)))
|
||||
(v1-21 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-21 (the-as process (as-type (handle->process (-> this traffic-target-status handle)) process-focusable)))
|
||||
)
|
||||
(if (and v1-21 (!= (-> v1-21 type) target))
|
||||
(set! (-> this traffic-target-status handle) (the-as handle #f))
|
||||
)
|
||||
@@ -1638,18 +1612,13 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s4-0 this)
|
||||
(s3-0 (method-of-object s4-0 enemy-method-63))
|
||||
(s2-0 (handle->process (-> this traffic-target-status handle)))
|
||||
)
|
||||
(s3-0
|
||||
s4-0
|
||||
(the-as process-focusable (if (type? s2-0 process-focusable)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
(the-as enemy-aware #f)
|
||||
(enemy-method-63
|
||||
this
|
||||
(the-as
|
||||
process-focusable
|
||||
(the-as process (as-type (handle->process (-> this traffic-target-status handle)) process-focusable))
|
||||
)
|
||||
(the-as enemy-aware #f)
|
||||
)
|
||||
(let ((s4-1 (handle->process (-> this focus handle))))
|
||||
(cond
|
||||
@@ -1959,11 +1928,7 @@
|
||||
)
|
||||
)
|
||||
(let* ((s5-0 (-> self traffic-target-status))
|
||||
(s4-0 (handle->process (-> s5-0 handle)))
|
||||
(gp-0 (if (type? s4-0 process-focusable)
|
||||
(the-as process-focusable s4-0)
|
||||
)
|
||||
)
|
||||
(gp-0 (as-type (handle->process (-> s5-0 handle)) process-focusable))
|
||||
)
|
||||
(if (or (focus-test? gp-0 inactive) (focus-test? gp-0 disable))
|
||||
(set! gp-0 (the-as process-focusable #f))
|
||||
@@ -3022,13 +2987,9 @@
|
||||
(set-point! (-> this l-control) 1 s5-0)
|
||||
(set! (-> this l-control spec) (-> *lightning-spec-id-table* 13))
|
||||
(+! (-> this l-control state points-to-draw) 2)
|
||||
(let* ((s1-4 (-> s3-0 best-other-tri collide-ptr))
|
||||
(v1-43 (if (type? s1-4 collide-shape-prim)
|
||||
s1-4
|
||||
)
|
||||
)
|
||||
(s1-5 #t)
|
||||
)
|
||||
(let ((v1-43 (the-as basic (as-type (-> s3-0 best-other-tri collide-ptr) collide-shape-prim)))
|
||||
(s1-5 #t)
|
||||
)
|
||||
(when v1-43
|
||||
(set! s1-5 #f)
|
||||
(let ((s0-1 (new 'stack-no-clear 'projectile-init-by-other-params)))
|
||||
@@ -3383,12 +3344,7 @@
|
||||
;; definition for method 223 of type crimson-guard
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod crimson-guard-method-223 ((this crimson-guard) (arg0 float))
|
||||
(let* ((s3-0 (handle->process (-> this transport)))
|
||||
(s4-0 (if (type? s3-0 process-focusable)
|
||||
(the-as process-focusable s3-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-0 (as-type (handle->process (-> this transport)) process-focusable)))
|
||||
(when s4-0
|
||||
(let ((s2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> s4-0 root trans))))
|
||||
(s3-1 (new 'stack-no-clear 'vector))
|
||||
|
||||
Generated
Vendored
+12
-29
@@ -541,12 +541,7 @@
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod metalhead-flitter-method-205 ((this metalhead-flitter))
|
||||
(let* ((s5-0 (handle->process (-> this focus handle)))
|
||||
(s3-0 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-0 (the-as process (as-type (handle->process (-> this focus handle)) process-focusable))))
|
||||
(when s3-0
|
||||
(let* ((s5-1 (get-trans (the-as process-focusable s3-0) 0))
|
||||
(s4-1 (vector-! (new 'stack-no-clear 'vector) s5-1 (-> this root trans)))
|
||||
@@ -625,12 +620,8 @@
|
||||
(local-vars (v1-29 symbol))
|
||||
(stop-looking-at-target! self)
|
||||
(set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim arg0))
|
||||
(let ((s4-1 (enemy-method-50 self (new 'stack-no-clear 'vector)))
|
||||
(s3-0 (-> self root))
|
||||
)
|
||||
(when (if (type? s3-0 collide-shape-moving)
|
||||
s3-0
|
||||
)
|
||||
(let ((s4-1 (enemy-method-50 self (new 'stack-no-clear 'vector))))
|
||||
(when (as-type (-> self root) collide-shape-moving)
|
||||
(set! (-> self root transv y) 33775.48)
|
||||
(ja :num-func num-func-identity :frame-num 0.0)
|
||||
(set-time! (-> self state-time))
|
||||
@@ -815,12 +806,7 @@
|
||||
)
|
||||
:trans (behavior ()
|
||||
(local-vars (s5-2 vector))
|
||||
(let* ((s5-0 (handle->process (-> self focus handle)))
|
||||
(gp-0 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (the-as process (as-type (handle->process (-> self focus handle)) process-focusable))))
|
||||
(set! s5-2
|
||||
(cond
|
||||
((and gp-0
|
||||
@@ -973,18 +959,15 @@
|
||||
(cond
|
||||
((= v1-11 (enemy-aware enemy-aware-3))
|
||||
(cond
|
||||
((when gp-0
|
||||
(let* ((gp-1 self)
|
||||
(s5-1 (method-of-object gp-1 metalhead-flitter-method-207))
|
||||
(s4-0 (handle->process (-> self focus handle)))
|
||||
)
|
||||
(s5-1 gp-1 (the-as process-focusable (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
((if gp-0
|
||||
(metalhead-flitter-method-207
|
||||
self
|
||||
(the-as
|
||||
process-focusable
|
||||
(the-as process (as-type (handle->process (-> self focus handle)) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (and (get-enemy-target self) (time-elapsed? (the-as int (-> self off-screen-timer)) (seconds 0.3)))
|
||||
(go-hostile self)
|
||||
)
|
||||
|
||||
Generated
Vendored
+1
-6
@@ -366,12 +366,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((gp-1 *target*)
|
||||
(a0-4 (if (type? gp-1 process-focusable)
|
||||
gp-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-4 (the-as target (as-type *target* process-focusable))))
|
||||
(when a0-4
|
||||
(let* ((gp-2 (-> self root))
|
||||
(s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans a0-4 0) (-> gp-2 trans)) 1.0))
|
||||
|
||||
Generated
Vendored
+9
-13
@@ -685,20 +685,16 @@
|
||||
#t
|
||||
)
|
||||
(else
|
||||
(let ((s4-1 (-> s5-0 best-other-tri collide-ptr)))
|
||||
(if (and (if (type? s4-1 collide-shape-prim)
|
||||
s4-1
|
||||
)
|
||||
(< (vector-dot
|
||||
(-> s5-0 best-other-tri normal)
|
||||
(vector-! (new 'stack-no-clear 'vector) arg2 (the-as vector (-> s5-0 best-other-tri)))
|
||||
)
|
||||
0.0
|
||||
(if (and (the-as basic (as-type (-> s5-0 best-other-tri collide-ptr) collide-shape-prim))
|
||||
(< (vector-dot
|
||||
(-> s5-0 best-other-tri normal)
|
||||
(vector-! (new 'stack-no-clear 'vector) arg2 (the-as vector (-> s5-0 best-other-tri)))
|
||||
)
|
||||
)
|
||||
#f
|
||||
)
|
||||
)
|
||||
0.0
|
||||
)
|
||||
)
|
||||
#f
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
+6
-36
@@ -1510,12 +1510,7 @@
|
||||
)
|
||||
)
|
||||
(dotimes (s5-1 gp-1)
|
||||
(let* ((s4-1 (-> s3-1 s5-1))
|
||||
(a0-52 (if (type? s4-1 citizen)
|
||||
s4-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-52 (the-as collide-shape (as-type (-> s3-1 s5-1) citizen))))
|
||||
(if a0-52
|
||||
(send-event (the-as process-tree a0-52) 'clear-path s2-1)
|
||||
)
|
||||
@@ -1548,12 +1543,7 @@
|
||||
(set! (-> a1-0 r) (-> s4-0 notify-radius))
|
||||
(let ((s2-0 (fill-actor-list-for-sphere (-> this object-hash) a1-0 s3-0 40)))
|
||||
(dotimes (s1-0 s2-0)
|
||||
(let* ((s0-0 (-> s3-0 s1-0))
|
||||
(a0-6 (if (type? s0-0 citizen)
|
||||
s0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as collide-shape (as-type (-> s3-0 s1-0) citizen))))
|
||||
(if a0-6
|
||||
(send-event
|
||||
(the-as process-tree a0-6)
|
||||
@@ -1631,12 +1621,7 @@
|
||||
"Kill everything in the sphere with a traffic-off-force."
|
||||
(let ((gp-0 (new 'stack-no-clear 'array 'collide-shape 64)))
|
||||
(countdown (s5-0 (fill-actor-list-for-sphere *actor-hash* arg0 gp-0 64))
|
||||
(let* ((s4-0 (-> gp-0 s5-0))
|
||||
(v1-3 (if (type? s4-0 collide-shape)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-3 (as-type (-> gp-0 s5-0) collide-shape)))
|
||||
(if v1-3
|
||||
(send-event (-> v1-3 process) 'traffic-off-force)
|
||||
)
|
||||
@@ -2164,12 +2149,7 @@
|
||||
(while (!= v1-4 (-> *collide-player-list* alive-list-end))
|
||||
(let ((v1-5 (the-as collide-shape (-> (the-as connection v1-4) param1))))
|
||||
(when (logtest? arg1 (-> v1-5 root-prim prim-core collide-as))
|
||||
(let* ((s1-0 (-> v1-5 process))
|
||||
(s2-0 (if (type? s1-0 process-focusable)
|
||||
(the-as process-focusable s1-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s2-0 (as-type (-> v1-5 process) process-focusable)))
|
||||
(when (and s2-0 (not (focus-test? s2-0 disable dead inactive)) (!= arg0 s2-0))
|
||||
(let ((f0-0 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-0 root trans))))
|
||||
(when (or (not gp-0) (< f0-0 f30-0))
|
||||
@@ -2196,12 +2176,7 @@
|
||||
(while (!= v1-22 (-> *collide-hit-by-player-list* alive-list-end))
|
||||
(let ((v1-23 (the-as collide-shape (-> (the-as connection v1-22) param1))))
|
||||
(when (logtest? arg1 (-> v1-23 root-prim prim-core collide-as))
|
||||
(let* ((s1-1 (-> v1-23 process))
|
||||
(s2-1 (if (type? s1-1 process-focusable)
|
||||
(the-as process-focusable s1-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s2-1 (as-type (-> v1-23 process) process-focusable)))
|
||||
(when (and s2-1 (not (focus-test? s2-1 disable dead inactive)) (!= arg0 s2-1))
|
||||
(let ((f0-1 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-1 root trans))))
|
||||
(when (or (not gp-0) (< f0-1 f30-0))
|
||||
@@ -2227,12 +2202,7 @@
|
||||
(while (!= v1-38 (-> *collide-hit-by-others-list* alive-list-end))
|
||||
(let ((v1-39 (the-as collide-shape (-> (the-as connection v1-38) param1))))
|
||||
(when (logtest? arg1 (-> v1-39 root-prim prim-core collide-as))
|
||||
(let* ((s1-2 (-> v1-39 process))
|
||||
(s2-2 (if (type? s1-2 process-focusable)
|
||||
(the-as process-focusable s1-2)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s2-2 (as-type (-> v1-39 process) process-focusable)))
|
||||
(when (and s2-2 (not (focus-test? s2-2 disable dead inactive)) (!= arg0 s2-2))
|
||||
(let ((f0-2 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-2 root trans))))
|
||||
(when (or (not gp-0) (< f0-2 f30-0))
|
||||
|
||||
+4
-13
@@ -55,12 +55,7 @@
|
||||
;; definition for method 29 of type vehicle-turret
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod vehicle-turret-method-29 ((this vehicle-turret))
|
||||
(let* ((s4-0 (ppointer->process (-> this parent)))
|
||||
(s5-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (the-as process-tree (as-type (ppointer->process (-> this parent)) process-focusable))))
|
||||
(when s5-0
|
||||
(let ((a2-0 (matrix<-transformq!
|
||||
(new 'stack-no-clear 'matrix)
|
||||
@@ -84,13 +79,9 @@
|
||||
(update-joint-mod (-> self turret) (the-as joint-mod-rotate-local (-> self turret-jm)))
|
||||
(vehicle-turret-method-29 self)
|
||||
(when (and (nonzero? (-> self target)) (handle->process (-> self target)))
|
||||
(let* ((s5-0 (handle->process (-> self target)))
|
||||
(gp-0 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
(s5-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(let ((gp-0 (the-as process (as-type (handle->process (-> self target)) process-focusable)))
|
||||
(s5-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(set! (-> s5-1 quad) (-> (get-trans (the-as process-focusable gp-0) 3) quad))
|
||||
(turret-control-method-11 (-> self turret) self s5-1 (-> (the-as process-focusable gp-0) root transv))
|
||||
)
|
||||
|
||||
Generated
Vendored
+1
-6
@@ -438,12 +438,7 @@
|
||||
(-> arg2 traffic-hash-id)
|
||||
)
|
||||
)
|
||||
(let* ((s2-0 (the-as basic (-> s3-1 s4-1)))
|
||||
(v1-70 (if (type? (the-as collide-shape s2-0) vehicle)
|
||||
(the-as vehicle s2-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-70 (as-type (-> s3-1 s4-1) vehicle)))
|
||||
(when (and v1-70
|
||||
(not (logtest? (-> v1-70 flags) (rigid-body-object-flag dead)))
|
||||
(nonzero? (-> v1-70 flight-level-index))
|
||||
|
||||
+1
-6
@@ -446,12 +446,7 @@
|
||||
(vector+! (-> gp-0 vec-2) (-> s3-2 start-pos) (-> s3-2 move-dist))
|
||||
)
|
||||
(else
|
||||
(let* ((s4-1 (-> s3-2 best-other-tri collide-ptr))
|
||||
(a0-43 (if (type? s4-1 collide-shape-prim)
|
||||
s4-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-43 (the-as basic (as-type (-> s3-2 best-other-tri collide-ptr) collide-shape-prim))))
|
||||
(if (and a0-43 (logtest? (-> (the-as collide-shape-prim a0-43) prim-core collide-as) (collide-spec jak)))
|
||||
(set! s5-1 #t)
|
||||
)
|
||||
|
||||
+1
-6
@@ -52,12 +52,7 @@
|
||||
;; definition for method 33 of type vehicle-rider
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod vehicle-rider-method-33 ((this vehicle-rider))
|
||||
(let* ((s4-0 (ppointer->process (-> this parent)))
|
||||
(s5-0 (if (type? s4-0 vehicle)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (as-type (ppointer->process (-> this parent)) vehicle)))
|
||||
(logand! (-> this flags) -5)
|
||||
(if (and s5-0 (nonzero? (vehicle-method-72 s5-0)))
|
||||
(logior! (-> this flags) 4)
|
||||
|
||||
+3
-9
@@ -380,15 +380,9 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 320 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-97 s3-1))
|
||||
(set! (-> v1-97 width) (the float 340))
|
||||
)
|
||||
(let ((v1-98 s3-1))
|
||||
(set! (-> v1-98 height) (the float 80))
|
||||
)
|
||||
(let ((v1-99 s3-1))
|
||||
(set! (-> v1-99 scale) 0.9)
|
||||
)
|
||||
(set-width! s3-1 340)
|
||||
(set-height! s3-1 80)
|
||||
(set-scale! s3-1 0.9)
|
||||
(set! (-> s3-1 flags) (font-flags shadow kerning large))
|
||||
(print-game-text
|
||||
(lookup-text! *common-text* (text-id press-triangle-to-use) #f)
|
||||
|
||||
+16
-28
@@ -1508,28 +1508,20 @@
|
||||
((logtest? (attack-mask attacker-velocity) (-> arg1 mask))
|
||||
(set! (-> s5-0 vector 2 quad) (-> arg1 attacker-velocity quad))
|
||||
)
|
||||
(else
|
||||
(let ((s0-0 arg0))
|
||||
(cond
|
||||
((if (type? s0-0 process-focusable)
|
||||
(the-as process-focusable s0-0)
|
||||
)
|
||||
(set! sv-96 (-> s5-0 vector 2))
|
||||
(let ((s0-1 (-> s5-0 vector))
|
||||
(v1-7 (get-trans (the-as process-focusable arg0) 3))
|
||||
)
|
||||
(.lvf vf4 (&-> s0-1 0 quad))
|
||||
(.lvf vf5 (&-> v1-7 quad))
|
||||
)
|
||||
(.mov.vf.w vf6 vf0)
|
||||
(.sub.vf.xyz vf6 vf4 vf5)
|
||||
(.svf (&-> sv-96 quad) vf6)
|
||||
((as-type arg0 process-focusable)
|
||||
(set! sv-96 (-> s5-0 vector 2))
|
||||
(let ((s0-1 (-> s5-0 vector))
|
||||
(v1-7 (get-trans (the-as process-focusable arg0) 3))
|
||||
)
|
||||
(else
|
||||
(vector-! (-> s5-0 vector 2) (-> s5-0 vector 0) (-> arg0 root trans))
|
||||
)
|
||||
)
|
||||
)
|
||||
(.lvf vf4 (&-> s0-1 0 quad))
|
||||
(.lvf vf5 (&-> v1-7 quad))
|
||||
)
|
||||
(.mov.vf.w vf6 vf0)
|
||||
(.sub.vf.xyz vf6 vf4 vf5)
|
||||
(.svf (&-> sv-96 quad) vf6)
|
||||
)
|
||||
(else
|
||||
(vector-! (-> s5-0 vector 2) (-> s5-0 vector 0) (-> arg0 root trans))
|
||||
)
|
||||
)
|
||||
0.0
|
||||
@@ -1845,13 +1837,9 @@
|
||||
)
|
||||
)
|
||||
(('pilot-on)
|
||||
(let* ((s3-2 (-> arg3 param 0))
|
||||
(s2-2 arg0)
|
||||
(s5-3 (if (type? s2-2 process-focusable)
|
||||
s2-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-2 (-> arg3 param 0))
|
||||
(s5-3 (the-as process-drawable (as-type arg0 process-focusable)))
|
||||
)
|
||||
(when s5-3
|
||||
(format #t "vehicle::event-handler: pilot-on (pid ~d) from pid ~d~%" (-> this pid) (-> arg0 pid))
|
||||
(logior! (-> this flags) (rigid-body-object-flag riding))
|
||||
|
||||
+3
-18
@@ -293,12 +293,7 @@
|
||||
|
||||
;; definition for method 97 of type ashelin
|
||||
(defmethod enemy-method-97 ((this ashelin))
|
||||
(let* ((s5-0 (handle->process (-> this attacker-handle)))
|
||||
(v1-3 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-3 (the-as process (as-type (handle->process (-> this attacker-handle)) process-focusable))))
|
||||
(when v1-3
|
||||
(cond
|
||||
((= (-> v1-3 type) target)
|
||||
@@ -333,12 +328,7 @@
|
||||
(empty)
|
||||
)
|
||||
(else
|
||||
(let ((s4-0 (handle->process (-> this poi-handle))))
|
||||
(set! s5-1 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s5-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable)))
|
||||
(if s5-1
|
||||
(empty)
|
||||
(set! s5-1 *target*)
|
||||
@@ -352,12 +342,7 @@
|
||||
(set! s5-1 v1-3)
|
||||
)
|
||||
(else
|
||||
(let ((s4-1 (handle->process (-> this poi-handle))))
|
||||
(set! s5-1 (if (type? s4-1 process-focusable)
|
||||
s4-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s5-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable)))
|
||||
(cond
|
||||
(s5-1
|
||||
(empty)
|
||||
|
||||
+17
-71
@@ -122,12 +122,7 @@
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
(defmethod reset-attacker! ((this bot))
|
||||
(logclear! (-> this bot-flags) (bot-flags attacked))
|
||||
(let* ((s5-0 (handle->process (-> this attacker-handle)))
|
||||
(v1-5 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-5 (the-as process (as-type (handle->process (-> this attacker-handle)) process-focusable))))
|
||||
(if (and v1-5 (= (-> v1-5 type) target))
|
||||
(set! (-> this attacker-handle) (the-as handle #f))
|
||||
)
|
||||
@@ -276,12 +271,7 @@
|
||||
(dotimes (s3-0 *actor-list-length*)
|
||||
(let ((v1-26 (-> *actor-list* s3-0)))
|
||||
(when (logtest? (the-as collide-spec s4-0) (-> v1-26 root-prim prim-core collide-as))
|
||||
(let* ((s2-0 (-> v1-26 process))
|
||||
(a1-26 (if (type? s2-0 process-focusable)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a1-26 (the-as process-drawable (as-type (-> v1-26 process) process-focusable))))
|
||||
(when a1-26
|
||||
(set-next-focus! this (the-as enemy a1-26) (the-as enemy-best-focus (&-> s5-0 next)))
|
||||
(if (-> s5-0 next)
|
||||
@@ -309,12 +299,7 @@
|
||||
(t9-0 this arg0 arg1 arg2 arg3)
|
||||
)
|
||||
(logclear! (-> this bot-flags) (bot-flags bf03 bf04))
|
||||
(let* ((s3-0 (handle->process (-> this incoming attacker-handle)))
|
||||
(s5-0 (if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (the-as process (as-type (handle->process (-> this incoming attacker-handle)) process-focusable))))
|
||||
(when s5-0
|
||||
(cond
|
||||
((= (-> s5-0 type) target)
|
||||
@@ -398,23 +383,12 @@
|
||||
;; definition for method 180 of type bot
|
||||
(defmethod clear-poi-and-focus! ((this bot))
|
||||
"Clear our point of interest and focus handles."
|
||||
(let* ((s4-0 (handle->process (-> this poi-handle)))
|
||||
(s5-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable))))
|
||||
(when s5-0
|
||||
(set! (-> this poi-handle) (the-as handle #f))
|
||||
(let ((s4-1 (handle->process (-> this focus handle))))
|
||||
(if (= (if (type? s4-1 process-focusable)
|
||||
s4-1
|
||||
)
|
||||
s5-0
|
||||
)
|
||||
(clear-focused (-> this focus))
|
||||
)
|
||||
)
|
||||
(if (= (the-as process (as-type (handle->process (-> this focus handle)) process-focusable)) s5-0)
|
||||
(clear-focused (-> this focus))
|
||||
)
|
||||
)
|
||||
)
|
||||
(none)
|
||||
@@ -482,12 +456,7 @@
|
||||
|
||||
;; definition for method 97 of type bot
|
||||
(defmethod enemy-method-97 ((this bot))
|
||||
(let* ((s5-0 (handle->process (-> this attacker-handle)))
|
||||
(v1-3 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-3 (the-as process (as-type (handle->process (-> this attacker-handle)) process-focusable))))
|
||||
(when v1-3
|
||||
(cond
|
||||
((= (-> v1-3 type) target)
|
||||
@@ -522,12 +491,7 @@
|
||||
(empty)
|
||||
)
|
||||
(else
|
||||
(let ((s4-0 (handle->process (-> this poi-handle))))
|
||||
(set! s5-1 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s5-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable)))
|
||||
(if s5-1
|
||||
(empty)
|
||||
(set! s5-1 *target*)
|
||||
@@ -541,12 +505,7 @@
|
||||
(set! s5-1 v1-3)
|
||||
)
|
||||
(else
|
||||
(let ((s4-1 (handle->process (-> this poi-handle))))
|
||||
(set! s5-1 (if (type? s4-1 process-focusable)
|
||||
s4-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s5-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable)))
|
||||
(cond
|
||||
(s5-1
|
||||
(empty)
|
||||
@@ -691,12 +650,7 @@
|
||||
(dotimes (i *actor-list-length*)
|
||||
(let ((actor (-> *actor-list* i)))
|
||||
(when (logtest? (the-as int coll-spec) (-> actor root-prim prim-core collide-as))
|
||||
(let* ((proc (-> actor process))
|
||||
(enemy (if (type? proc process-focusable)
|
||||
proc
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((enemy (the-as process-drawable (as-type (-> actor process) process-focusable))))
|
||||
(if (and enemy
|
||||
enemy
|
||||
(not (logtest? (-> (the-as process-focusable enemy) focus-status) (focus-status disable dead)))
|
||||
@@ -857,13 +811,9 @@
|
||||
(('notify)
|
||||
(case (-> arg3 param 0)
|
||||
(('attack)
|
||||
(let ((s5-2 (-> arg3 param 1)))
|
||||
(when (if (type? s5-2 process-focusable)
|
||||
s5-2
|
||||
)
|
||||
(logior! (-> this enemy-flags) (enemy-flag victory))
|
||||
(set-time! (-> this hit-focus-time))
|
||||
)
|
||||
(when (the-as uint (as-type (-> arg3 param 1) process-focusable))
|
||||
(logior! (-> this enemy-flags) (enemy-flag victory))
|
||||
(set-time! (-> this hit-focus-time))
|
||||
)
|
||||
#t
|
||||
)
|
||||
@@ -986,13 +936,9 @@
|
||||
)
|
||||
(else
|
||||
(when (!= (-> arg0 type) target)
|
||||
(let* ((touch-entry (-> arg1 param 0))
|
||||
(s2-0 arg0)
|
||||
(v1-6 (if (type? s2-0 process-focusable)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((touch-entry (-> arg1 param 0))
|
||||
(v1-6 (the-as process (as-type arg0 process-focusable)))
|
||||
)
|
||||
(cond
|
||||
((and (focus-test? this dangerous)
|
||||
(logtest? (process-mask enemy) (-> arg0 mask))
|
||||
|
||||
+2
-12
@@ -404,12 +404,7 @@
|
||||
(('notify)
|
||||
(case (-> arg3 param 0)
|
||||
(('hit-by)
|
||||
(let* ((s4-0 arg0)
|
||||
(v1-2 (if (type? s4-0 bot)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-2 (the-as process (as-type arg0 bot))))
|
||||
(when v1-2
|
||||
(when (= (-> (the-as process (-> arg3 param 1)) type) target)
|
||||
(logior! (-> this bot-flags) (ash 1 (+ (-> (the-as bot v1-2) slave-id) 19)))
|
||||
@@ -419,12 +414,7 @@
|
||||
)
|
||||
)
|
||||
(('mission-failed)
|
||||
(let* ((s4-1 arg0)
|
||||
(s5-1 (if (type? s4-1 bot)
|
||||
s4-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-1 (the-as process (as-type arg0 bot))))
|
||||
(when s5-1
|
||||
(when (not (logtest? (-> this bot-flags) (bot-flags too-far-fail)))
|
||||
(when (not (logtest? (-> this bot-flags) (bot-flags bf09)))
|
||||
|
||||
+2
-6
@@ -397,13 +397,9 @@
|
||||
)
|
||||
)
|
||||
(let* ((v1-24 (-> (the-as sig arg0) actor-group 0 data (-> this actor-index) actor))
|
||||
(s3-1 (when v1-24
|
||||
(let ((s2-0 (-> v1-24 extra process)))
|
||||
(if (type? s2-0 process-focusable)
|
||||
s2-0
|
||||
)
|
||||
(s3-1 (if v1-24
|
||||
(the-as process (as-type (-> v1-24 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
|
||||
+4
-24
@@ -254,12 +254,7 @@
|
||||
|
||||
;; definition for method 97 of type sig
|
||||
(defmethod enemy-method-97 ((this sig))
|
||||
(let* ((s5-0 (handle->process (-> this attacker-handle)))
|
||||
(s4-0 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-0 (the-as process (as-type (handle->process (-> this attacker-handle)) process-focusable))))
|
||||
(when s4-0
|
||||
(cond
|
||||
((= (-> s4-0 type) target)
|
||||
@@ -302,12 +297,7 @@
|
||||
(empty)
|
||||
)
|
||||
(else
|
||||
(let ((s4-1 (handle->process (-> this poi-handle))))
|
||||
(set! s5-1 (if (type? s4-1 process-focusable)
|
||||
s4-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s5-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable)))
|
||||
(if s5-1
|
||||
(empty)
|
||||
(set! s5-1 *target*)
|
||||
@@ -329,12 +319,7 @@
|
||||
)
|
||||
(else
|
||||
(when (not (logtest? (bot-flags bf19) (-> this bot-flags)))
|
||||
(let ((s4-2 (handle->process (-> this poi-handle))))
|
||||
(set! s5-1 (if (type? s4-2 process-focusable)
|
||||
s4-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s5-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable)))
|
||||
(cond
|
||||
(s5-1
|
||||
(empty)
|
||||
@@ -1428,12 +1413,7 @@
|
||||
(a0-14 (-> v1-33 root-prim))
|
||||
)
|
||||
(when (logtest? (collide-spec hit-by-others-list pusher) (-> a0-14 prim-core collide-as))
|
||||
(let* ((s1-0 (-> v1-33 process))
|
||||
(s2-0 (if (type? s1-0 process-focusable)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s2-0 (the-as process-drawable (as-type (-> v1-33 process) process-focusable))))
|
||||
(when s2-0
|
||||
(let ((f0-6 (vector-vector-distance-squared s5-0 (get-trans (the-as process-focusable s2-0) 0))))
|
||||
(when (or (< f30-0 0.0) (< f0-6 f30-0))
|
||||
|
||||
+1
-5
@@ -1281,11 +1281,7 @@
|
||||
|
||||
;; definition for method 30 of type battle
|
||||
(defmethod get-spawner-for-enemy ((this battle) (arg0 process))
|
||||
(let ((v1-0 (if (type? arg0 nav-enemy)
|
||||
(the-as nav-enemy arg0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-0 (as-type arg0 nav-enemy)))
|
||||
(when v1-0
|
||||
(dotimes (a0-3 (-> this spawners length))
|
||||
(let* ((a1-5 (-> this spawners data a0-3))
|
||||
|
||||
+1
-6
@@ -411,12 +411,7 @@
|
||||
(sv-288 symbol)
|
||||
(sv-304 symbol)
|
||||
)
|
||||
(let* ((target *target*)
|
||||
(proc-focus (if (type? target process-focusable)
|
||||
target
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((proc-focus (the-as target (as-type *target* process-focusable))))
|
||||
(when proc-focus
|
||||
(let ((focus-trans (get-trans proc-focus 0)))
|
||||
(let* ((a0-3 (vector-! (new 'stack-no-clear 'vector) focus-trans (-> self dividing-wall pos)))
|
||||
|
||||
+2
-12
@@ -868,12 +868,7 @@
|
||||
(set! (-> v1-4 action-mask) (collide-action solid))
|
||||
)
|
||||
(when (>= (fill-and-probe-using-line-sphere *collide-cache* s4-0) 0.0)
|
||||
(let* ((s3-0 (-> s4-0 best-other-tri collide-ptr))
|
||||
(s4-1 (if (type? s3-0 collide-shape-prim-sphere)
|
||||
(the-as collide-shape-prim-sphere s3-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-1 (as-type (-> s4-0 best-other-tri collide-ptr) collide-shape-prim-sphere)))
|
||||
(when s4-1
|
||||
(set! (-> s5-0 y) 0.0)
|
||||
(vector-normalize! s5-0 1.0)
|
||||
@@ -943,12 +938,7 @@
|
||||
|
||||
;; definition for method 70 of type amphibian
|
||||
(defmethod go-hostile ((this amphibian))
|
||||
(let* ((s4-0 (handle->process (-> this attacker-handle)))
|
||||
(s5-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (the-as process (as-type (handle->process (-> this attacker-handle)) process-focusable))))
|
||||
(when s5-0
|
||||
(set! (-> this attacker-handle) (the-as handle #f))
|
||||
(when (collide-check? (-> this focus) (the-as process-focusable s5-0))
|
||||
|
||||
+12
-29
@@ -862,12 +862,7 @@
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod flitter-method-180 ((this flitter))
|
||||
(let* ((s5-0 (handle->process (-> this focus handle)))
|
||||
(s3-0 (if (type? s5-0 process-focusable)
|
||||
(the-as process-focusable s5-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-0 (as-type (handle->process (-> this focus handle)) process-focusable)))
|
||||
(when s3-0
|
||||
(let* ((s5-1 (get-trans s3-0 0))
|
||||
(s4-1 (vector-! (new 'stack-no-clear 'vector) s5-1 (-> this root trans)))
|
||||
@@ -946,12 +941,8 @@
|
||||
(local-vars (v1-29 symbol))
|
||||
(stop-looking-at-target! self)
|
||||
(set! (-> self skel root-channel 0 frame-group) arg0)
|
||||
(let ((s4-1 (enemy-method-50 self (new 'stack-no-clear 'vector)))
|
||||
(s3-0 (-> self root))
|
||||
)
|
||||
(when (if (type? s3-0 collide-shape-moving)
|
||||
s3-0
|
||||
)
|
||||
(let ((s4-1 (enemy-method-50 self (new 'stack-no-clear 'vector))))
|
||||
(when (as-type (-> self root) collide-shape-moving)
|
||||
(set! (-> self root transv y) 33775.48)
|
||||
(ja :num-func num-func-identity :frame-num 0.0)
|
||||
(set-time! (-> self state-time))
|
||||
@@ -1058,18 +1049,15 @@
|
||||
(cond
|
||||
((= v1-11 (enemy-aware enemy-aware-3))
|
||||
(cond
|
||||
((when gp-0
|
||||
(let* ((gp-1 self)
|
||||
(s5-1 (method-of-object gp-1 flitter-method-182))
|
||||
(s4-0 (handle->process (-> self focus handle)))
|
||||
)
|
||||
(s5-1 gp-1 (the-as process-focusable (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
((if gp-0
|
||||
(flitter-method-182
|
||||
self
|
||||
(the-as
|
||||
process-focusable
|
||||
(the-as process (as-type (handle->process (-> self focus handle)) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (and (get-enemy-target self) (time-elapsed? (the-as int (-> self off-screen-timer)) (seconds 0.3)))
|
||||
(go-hostile self)
|
||||
)
|
||||
@@ -1204,12 +1192,7 @@
|
||||
)
|
||||
:trans (behavior ()
|
||||
(local-vars (s5-2 object))
|
||||
(let* ((s5-0 (handle->process (-> self focus handle)))
|
||||
(gp-0 (if (type? s5-0 process-focusable)
|
||||
(the-as process-focusable s5-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (as-type (handle->process (-> self focus handle)) process-focusable)))
|
||||
(set! s5-2 (cond
|
||||
((and gp-0
|
||||
(not (time-elapsed? (-> self state-time) (seconds 1.5)))
|
||||
|
||||
+2
-15
@@ -316,12 +316,7 @@
|
||||
(dotimes (group-idx (-> this actor-group-count))
|
||||
(let ((group (-> this actor-group group-idx)))
|
||||
(dotimes (actor-idx (-> group length))
|
||||
(let* ((actor-proc (-> group data actor-idx actor extra process))
|
||||
(fodder-proc (if (type? actor-proc fodder)
|
||||
(the-as fodder actor-proc)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((fodder-proc (as-type (-> group data actor-idx actor extra process) fodder)))
|
||||
(when (and fodder-proc (!= fodder-proc this) (time-elapsed? (-> fodder-proc look-at-other-time) (seconds 0.25)))
|
||||
(let* ((dir-to-other-fodder
|
||||
(vector-! (new 'stack-no-clear 'vector) (-> fodder-proc root trans) (-> this root trans))
|
||||
@@ -379,15 +374,7 @@
|
||||
(let ((proc (the-as process-drawable #f)))
|
||||
(cond
|
||||
((and (not (time-elapsed? (-> this look-at-other-time) (seconds 0.5)))
|
||||
(begin
|
||||
(let ((other-proc (handle->process (-> this look-at-other))))
|
||||
(set! proc (if (type? other-proc process-drawable)
|
||||
(the-as process-drawable other-proc)
|
||||
)
|
||||
)
|
||||
)
|
||||
proc
|
||||
)
|
||||
(begin (set! proc (as-type (handle->process (-> this look-at-other)) process-drawable)) proc)
|
||||
)
|
||||
(let ((s5-1 (vector<-cspace! (new 'static 'vector) (-> proc node-list data 5))))
|
||||
(look-at-position! this s5-1)
|
||||
|
||||
+1
-6
@@ -480,12 +480,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((gp-1 *target*)
|
||||
(a0-4 (if (type? gp-1 process-focusable)
|
||||
gp-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-4 (the-as target (as-type *target* process-focusable))))
|
||||
(when a0-4
|
||||
(let* ((gp-2 (-> self root))
|
||||
(s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans a0-4 0) (-> gp-2 trans)) 1.0))
|
||||
|
||||
Generated
Vendored
+16
-34
@@ -1223,12 +1223,7 @@
|
||||
)
|
||||
(('hit 'hit-flinch 'hit-knocked)
|
||||
(speech-control-method-13 *speech-control* (the-as handle this))
|
||||
(let* ((s1-0 (handle->process (-> this incoming attacker-handle)))
|
||||
(a0-13 (if (type? s1-0 process-focusable)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-13 (the-as process (as-type (handle->process (-> this incoming attacker-handle)) process-focusable))))
|
||||
(if (and a0-13 (logtest? (-> a0-13 mask) (process-mask target)))
|
||||
(speech-control-method-12 *speech-control* this (speech-type speech-type-11))
|
||||
)
|
||||
@@ -1385,22 +1380,18 @@
|
||||
((< (fill-and-probe-using-line-sphere *collide-cache* s5-0) 0.0)
|
||||
0
|
||||
)
|
||||
((and (the-as basic (as-type (-> s5-0 best-other-tri collide-ptr) collide-shape-prim))
|
||||
(< (vector-dot
|
||||
(-> s5-0 best-other-tri normal)
|
||||
(vector-! (new 'stack-no-clear 'vector) arg2 (the-as vector (-> s5-0 best-other-tri)))
|
||||
)
|
||||
0.0
|
||||
)
|
||||
)
|
||||
2
|
||||
)
|
||||
(else
|
||||
(let ((s4-1 (-> s5-0 best-other-tri collide-ptr)))
|
||||
(if (and (if (type? s4-1 collide-shape-prim)
|
||||
s4-1
|
||||
)
|
||||
(< (vector-dot
|
||||
(-> s5-0 best-other-tri normal)
|
||||
(vector-! (new 'stack-no-clear 'vector) arg2 (the-as vector (-> s5-0 best-other-tri)))
|
||||
)
|
||||
0.0
|
||||
)
|
||||
)
|
||||
2
|
||||
0
|
||||
)
|
||||
)
|
||||
0
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -2602,13 +2593,9 @@
|
||||
(set-point! (-> this l-control) 1 s5-0)
|
||||
(set! (-> this l-control spec) (-> *lightning-spec-id-table* 13))
|
||||
(+! (-> this l-control state points-to-draw) 2)
|
||||
(let* ((s4-1 (-> s3-0 best-other-tri collide-ptr))
|
||||
(v1-45 (if (type? s4-1 collide-shape-prim)
|
||||
(the-as collide-shape-prim s4-1)
|
||||
)
|
||||
)
|
||||
(s4-2 #t)
|
||||
)
|
||||
(let ((v1-45 (as-type (-> s3-0 best-other-tri collide-ptr) collide-shape-prim))
|
||||
(s4-2 #t)
|
||||
)
|
||||
(when v1-45
|
||||
(set! s4-2 #f)
|
||||
(if (logtest? (-> v1-45 prim-core collide-as) (collide-spec jak bot))
|
||||
@@ -3820,12 +3807,7 @@
|
||||
;; definition for method 201 of type crimson-guard-level
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod crimson-guard-level-method-201 ((this crimson-guard-level) (arg0 float))
|
||||
(let* ((s3-0 (handle->process (-> this transport)))
|
||||
(s4-0 (if (type? s3-0 process-focusable)
|
||||
(the-as process-focusable s3-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-0 (as-type (handle->process (-> this transport)) process-focusable)))
|
||||
(when s4-0
|
||||
(let ((s2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> s4-0 root trans))))
|
||||
(s3-1 (new 'stack-no-clear 'vector))
|
||||
|
||||
Generated
Vendored
+2
-12
@@ -874,12 +874,7 @@
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (-> self dest-pos)))
|
||||
(let* ((s5-0 (handle->process (-> self focus handle)))
|
||||
(a0-6 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> self focus handle)) process-focusable))))
|
||||
(set! (-> gp-0 quad) (-> (get-trans (the-as process-focusable a0-6) 0) quad))
|
||||
)
|
||||
(+! (-> gp-0 y) -20480.0)
|
||||
@@ -1194,12 +1189,7 @@
|
||||
(hover-enemy-method-153 this)
|
||||
)
|
||||
(when (> (-> this hit-points) 0)
|
||||
(let* ((s1-0 (handle->process (-> this incoming attacker-handle)))
|
||||
(v1-23 (if (type? s1-0 process-focusable)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-23 (the-as process (as-type (handle->process (-> this incoming attacker-handle)) process-focusable))))
|
||||
(if (and *target* v1-23 (let ((f0-0 (vector-vector-distance-squared (-> this root trans) (-> this focus-pos)))
|
||||
(f1-0 122880.0)
|
||||
)
|
||||
|
||||
+7
-16
@@ -176,12 +176,7 @@
|
||||
(hover-formation-method-15 a0-2 gp-0 (-> self offset))
|
||||
)
|
||||
(else
|
||||
(let* ((s5-0 (handle->process (-> self focus handle)))
|
||||
(a0-7 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-7 (the-as process (as-type (handle->process (-> self focus handle)) process-focusable))))
|
||||
(cond
|
||||
(a0-7
|
||||
(let* ((s5-1 (get-trans (the-as process-focusable a0-7) 3))
|
||||
@@ -477,16 +472,12 @@
|
||||
(hover-enemy-method-141 self 1.0)
|
||||
)
|
||||
)
|
||||
(let* ((gp-0 *target*)
|
||||
(s1-0 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
(gp-1 (new 'stack-no-clear 'vector))
|
||||
(s2-0 (new 'stack-no-clear 'vector))
|
||||
(s4-0 (-> self root))
|
||||
(s5-0 (get-point-at-percent-along-path! (-> self path) (new 'stack-no-clear 'vector) 0.0 'interp))
|
||||
)
|
||||
(let ((s1-0 (the-as target (as-type *target* process-focusable)))
|
||||
(gp-1 (new 'stack-no-clear 'vector))
|
||||
(s2-0 (new 'stack-no-clear 'vector))
|
||||
(s4-0 (-> self root))
|
||||
(s5-0 (get-point-at-percent-along-path! (-> self path) (new 'stack-no-clear 'vector) 0.0 'interp))
|
||||
)
|
||||
(let ((s0-0 (get-point-at-percent-along-path! (-> self path) (new 'stack-no-clear 'vector) 1.0 'interp))
|
||||
(s3-1
|
||||
(-> (the-as collide-shape-prim-group (-> self root root-prim))
|
||||
|
||||
+9
-46
@@ -16,18 +16,10 @@
|
||||
;; definition for method 16 of type hover-formation-control
|
||||
(defmethod hover-formation-control-method-16 ((this hover-formation-control))
|
||||
(let ((gp-0 (hover-formation-control-method-13 this (new 'stack-no-clear 'vector)))
|
||||
(s4-0 (cond
|
||||
((-> this anchor-proc)
|
||||
(let ((s3-0 (handle->process (-> this anchor-proc))))
|
||||
(if (type? s3-0 process-focusable)
|
||||
(the-as process-focusable s3-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(s4-0 (if (-> this anchor-proc)
|
||||
(as-type (handle->process (-> this anchor-proc)) process-focusable)
|
||||
*target*
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(and s4-0
|
||||
@@ -61,18 +53,10 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(s3-0 (cond
|
||||
((-> this anchor-proc)
|
||||
(let ((s2-0 (handle->process (-> this anchor-proc))))
|
||||
(if (type? s2-0 process-focusable)
|
||||
(the-as process-focusable s2-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(s3-0 (if (-> this anchor-proc)
|
||||
(as-type (handle->process (-> this anchor-proc)) process-focusable)
|
||||
*target*
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
@@ -116,18 +100,10 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(a0-7 (cond
|
||||
((-> this anchor-proc)
|
||||
(let ((s4-0 (handle->process (-> this anchor-proc))))
|
||||
(if (type? s4-0 process-focusable)
|
||||
(the-as process-focusable s4-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(a0-7 (if (-> this anchor-proc)
|
||||
(as-type (handle->process (-> this anchor-proc)) process-focusable)
|
||||
*target*
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
@@ -312,18 +288,10 @@
|
||||
(vector-rotate-y! arg0 arg1 arg2)
|
||||
(cond
|
||||
((logtest? (-> this flags) 2)
|
||||
(let ((s2-0 (cond
|
||||
((-> this anchor-proc)
|
||||
(let ((s4-0 (handle->process (-> this anchor-proc))))
|
||||
(if (type? s4-0 process-focusable)
|
||||
(the-as process-focusable s4-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(let ((s2-0 (if (-> this anchor-proc)
|
||||
(as-type (handle->process (-> this anchor-proc)) process-focusable)
|
||||
*target*
|
||||
)
|
||||
)
|
||||
)
|
||||
(s4-1 (hover-formation-control-method-15 this (new 'stack-no-clear 'vector) arg0))
|
||||
(s3-0 (new 'stack-no-clear 'vector))
|
||||
@@ -402,12 +370,7 @@
|
||||
(set! (-> s5-0 best-cost) -1.0)
|
||||
(set! (-> s5-0 count) 0)
|
||||
(dotimes (s4-0 16)
|
||||
(let* ((s3-0 (handle->process (-> this actor-table s4-0)))
|
||||
(a0-8 (if (type? s3-0 process-focusable)
|
||||
(the-as process-focusable s3-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-8 (as-type (handle->process (-> this actor-table s4-0)) process-focusable)))
|
||||
(cond
|
||||
(a0-8
|
||||
(set! (-> s5-0 actor-position s4-0 quad) (-> (get-trans a0-8 3) quad))
|
||||
|
||||
Generated
Vendored
+1
-6
@@ -925,12 +925,7 @@
|
||||
(let ((v1-2 (the-as list-node (-> this sphere-list))))
|
||||
(while v1-2
|
||||
(let ((s5-0 (-> v1-2 next)))
|
||||
(let* ((s3-0 (handle->process (-> (the-as hover-nav-sphere v1-2) handle)))
|
||||
(s4-0 (if (type? s3-0 hover-enemy)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-0 (the-as process (as-type (handle->process (-> (the-as hover-nav-sphere v1-2) handle)) hover-enemy))))
|
||||
(when s4-0
|
||||
(let ((a1-9 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-9 from) (process->ppointer pp))
|
||||
|
||||
+3
-7
@@ -496,13 +496,9 @@
|
||||
;; definition for method 104 of type metalmonk
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod enemy-method-104 ((this metalmonk) (arg0 process) (arg1 touching-shapes-entry) (arg2 uint))
|
||||
(let* ((s3-0 arg0)
|
||||
(a0-2 (if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
(s3-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(let ((a0-2 (the-as process (as-type arg0 process-focusable)))
|
||||
(s3-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(let ((s1-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-! s3-1 (get-trans (the-as process-focusable a0-2) 0) (-> this root trans))
|
||||
(set! (-> s3-1 y) 0.0)
|
||||
|
||||
+1
-6
@@ -63,12 +63,7 @@
|
||||
;; definition for method 45 of type com-elevator
|
||||
(defmethod commited-to-ride? ((this com-elevator))
|
||||
"@returns if the target is considered within the elevator area enough to begin descending/ascending"
|
||||
(let* ((s5-0 *target*)
|
||||
(a0-2 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-2 (the-as target (as-type *target* process-focusable))))
|
||||
(and (when a0-2
|
||||
(let* ((v1-2 (get-trans a0-2 0))
|
||||
(s5-2 (vector-! (new 'stack-no-clear 'vector) v1-2 (-> this root trans)))
|
||||
|
||||
+1
-6
@@ -130,12 +130,7 @@
|
||||
(case message
|
||||
(('touched)
|
||||
(when (+ (current-time) (seconds -2))
|
||||
(let* ((s3-0 proc)
|
||||
(proc-draw (if (type? s3-0 process-drawable)
|
||||
(the-as process-drawable s3-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((proc-draw (as-type proc process-drawable)))
|
||||
(when proc-draw
|
||||
(let ((spike-quat (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))
|
||||
(touched-from-dir (vector-normalize!
|
||||
|
||||
+24
-69
@@ -52,13 +52,9 @@
|
||||
(s4-0 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(set! (-> s4-0 quad) (-> s5-0 transv quad))
|
||||
(let* ((f30-0 (vector-length s4-0))
|
||||
(s1-0 *target*)
|
||||
(a0-2 (if (type? s1-0 process-focusable)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f30-0 (vector-length s4-0))
|
||||
(a0-2 (the-as target (as-type *target* process-focusable)))
|
||||
)
|
||||
(when a0-2
|
||||
(let ((s1-1 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> s1-1 quad) (-> (get-trans a0-2 0) quad))
|
||||
@@ -487,12 +483,7 @@
|
||||
(nav-enemy-method-166 self)
|
||||
(logior! (-> self flags) (gun-buoy-flags gubflags-0))
|
||||
(logior! (-> self water flags) (water-flags touch-water))
|
||||
(let* ((gp-0 *target*)
|
||||
(s3-0 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-0 (the-as target (as-type *target* process-focusable))))
|
||||
(cond
|
||||
(s3-0
|
||||
(let ((s4-0 (new 'stack-no-clear 'vector)))
|
||||
@@ -636,12 +627,7 @@
|
||||
(ja-channel-push! 1 (seconds 0.075))
|
||||
(let ((f30-0 (rnd-float-range self 0.8 1.2)))
|
||||
(new 'stack-no-clear 'vector)
|
||||
(let* ((gp-0 (handle->process (-> self focus handle)))
|
||||
(a0-6 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-6 (the-as process (as-type (handle->process (-> self focus handle)) process-focusable))))
|
||||
(if (and a0-6 (focus-test? (the-as process-focusable a0-6) board))
|
||||
(set! f30-0 (* 2.0 f30-0))
|
||||
)
|
||||
@@ -728,12 +714,7 @@
|
||||
(set! (-> self warning-interval) (seconds 0.1))
|
||||
)
|
||||
(else
|
||||
(let* ((gp-0 (handle->process (-> self focus handle)))
|
||||
(v1-6 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-6 (the-as process (as-type (handle->process (-> self focus handle)) process-focusable))))
|
||||
(cond
|
||||
((focus-test? (the-as process-focusable v1-6) board)
|
||||
(set! (-> self warning-interval) (seconds 0.5))
|
||||
@@ -830,13 +811,9 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 *target*))
|
||||
(if (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(go-virtual attack)
|
||||
)
|
||||
)
|
||||
(if (the-as target (as-type *target* process-focusable))
|
||||
(go-virtual attack)
|
||||
)
|
||||
)
|
||||
)
|
||||
:code sleep-code
|
||||
@@ -854,12 +831,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((s5-0 (handle->process (-> self focus handle)))
|
||||
(gp-0 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (the-as process (as-type (handle->process (-> self focus handle)) process-focusable))))
|
||||
(if (and gp-0 (focus-test? (the-as process-focusable gp-0) dead))
|
||||
(go-virtual victory)
|
||||
)
|
||||
@@ -870,12 +842,7 @@
|
||||
)
|
||||
:code (behavior ()
|
||||
(dotimes (gp-0 4)
|
||||
(let* ((s5-0 *target*)
|
||||
(a1-1 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a1-1 (the-as target (as-type *target* process-focusable))))
|
||||
(if a1-1
|
||||
(gun-buoy-method-183 self a1-1)
|
||||
)
|
||||
@@ -946,12 +913,7 @@
|
||||
- looks at the target and handles attacking
|
||||
@TODO Not extremely well understood yet"
|
||||
(-> this root)
|
||||
(let* ((s4-0 *target*)
|
||||
(s5-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (the-as target (as-type *target* process-focusable))))
|
||||
(cond
|
||||
(s5-0
|
||||
(let* ((s2-1 (vector-normalize-copy!
|
||||
@@ -1048,22 +1010,18 @@
|
||||
(-> this fact)
|
||||
(let ((v1-10
|
||||
(or (not (and (-> this next-state) (= (-> this next-state name) 'dormant-aware)))
|
||||
(let ((s2-0 arg0))
|
||||
(cond
|
||||
((if (type? s2-0 target)
|
||||
s2-0
|
||||
)
|
||||
(let ((v1-12 arg0))
|
||||
(and v1-12
|
||||
(or (focus-test? v1-12 on-water under-water)
|
||||
(= (-> (the-as collide-shape-moving (-> v1-12 root)) ground-pat material) (pat-material waterbottom))
|
||||
)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((the-as process-focusable (as-type arg0 target))
|
||||
(let ((v1-12 arg0))
|
||||
(and v1-12
|
||||
(or (focus-test? v1-12 on-water under-water)
|
||||
(= (-> (the-as collide-shape-moving (-> v1-12 root)) ground-pat material) (pat-material waterbottom))
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(< f30-0 (+ 16384.0 f28-0))
|
||||
)
|
||||
)
|
||||
(else
|
||||
(< f30-0 (+ 16384.0 f28-0))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1072,10 +1030,7 @@
|
||||
(and v1-10
|
||||
(begin
|
||||
(set! f30-1 (-> this enemy-info notice-nav-radius))
|
||||
(set! v1-19 (if (type? arg0 target)
|
||||
arg0
|
||||
)
|
||||
)
|
||||
(set! v1-19 (the-as process-focusable (as-type arg0 target)))
|
||||
v1-19
|
||||
)
|
||||
(and (and v1-19
|
||||
|
||||
+1
-6
@@ -782,12 +782,7 @@
|
||||
(case arg2
|
||||
(('touch 'bonk 'attack)
|
||||
(set! sv-144 (the-as vector (send-event (ppointer->process (-> this parent)) 'widow-get-center)))
|
||||
(let* ((s1-0 arg0)
|
||||
(s0-0 (if (type? s1-0 process-drawable)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s0-0 (the-as process (as-type arg0 process-drawable))))
|
||||
(let ((v1-5 sv-144))
|
||||
(b! (not v1-5) cfg-15 :likely-delay (set! v1-6 sv-144))
|
||||
)
|
||||
|
||||
+1
-6
@@ -787,12 +787,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)
|
||||
(the-as process-drawable s4-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-1 (as-type proc process-drawable)))
|
||||
(when v1-1
|
||||
(let ((s4-1 (-> v1-1 root))
|
||||
(a1-3 (new 'stack 'collide-query))
|
||||
|
||||
+9
-23
@@ -317,32 +317,22 @@
|
||||
(set! (-> this strings 0 scale) 0.0)
|
||||
(set! (-> s1-0 origin x) 45.0)
|
||||
(set! (-> s1-0 origin y) 20.0)
|
||||
(let ((v1-15 s1-0))
|
||||
(set! (-> v1-15 width) (the float 422))
|
||||
)
|
||||
(let ((v1-16 s1-0))
|
||||
(set! (-> v1-16 height) (the float 80))
|
||||
)
|
||||
(set-width! s1-0 422)
|
||||
(set-height! s1-0 80)
|
||||
(let ((a0-12 s1-0))
|
||||
(set! (-> a0-12 color) (font-color red))
|
||||
)
|
||||
(let ((a0-13 s1-0))
|
||||
(set! (-> a0-13 flags) (font-flags kerning middle middle-vert large))
|
||||
)
|
||||
(let ((v1-19 s1-0))
|
||||
(set! (-> v1-19 scale) 1.0)
|
||||
)
|
||||
(set-scale! s1-0 1.0)
|
||||
(cond
|
||||
((zero? (-> s5-0 finish-count))
|
||||
(set! s0-0 80)
|
||||
(let ((v1-21 s1-0))
|
||||
(set! (-> v1-21 scale) 1.6)
|
||||
)
|
||||
(when (= (-> *setting-control* user-default language) (language-enum german))
|
||||
(let ((v1-24 s1-0))
|
||||
(set! (-> v1-24 scale) 1.0)
|
||||
(set-scale! s1-0 1.6)
|
||||
(if (= (-> *setting-control* user-default language) (language-enum german))
|
||||
(set-scale! s1-0 1.0)
|
||||
)
|
||||
)
|
||||
(set! sv-112 print-game-text)
|
||||
(let ((a0-20 (lookup-text! *common-text* (text-id race-you-win) #f))
|
||||
(a2-2 #f)
|
||||
@@ -354,14 +344,10 @@
|
||||
)
|
||||
(else
|
||||
(set! s0-0 80)
|
||||
(let ((v1-27 s1-0))
|
||||
(set! (-> v1-27 scale) 1.6)
|
||||
)
|
||||
(when (= (-> *setting-control* user-default language) (language-enum german))
|
||||
(let ((v1-30 s1-0))
|
||||
(set! (-> v1-30 scale) 1.0)
|
||||
(set-scale! s1-0 1.6)
|
||||
(if (= (-> *setting-control* user-default language) (language-enum german))
|
||||
(set-scale! s1-0 1.0)
|
||||
)
|
||||
)
|
||||
(set! sv-128 print-game-text)
|
||||
(let ((a0-26 (lookup-text! *common-text* (text-id race-you-lose) #f))
|
||||
(a1-5 s1-0)
|
||||
|
||||
+15
-31
@@ -601,13 +601,11 @@
|
||||
)
|
||||
)
|
||||
(((race-state-enum player-get-on))
|
||||
(let* ((f30-0 (* 0.0033333334 (the float (- (-> this current-time) (-> this countdown-start-time)))))
|
||||
(s4-0 (handle->process (-> this racer-array (-> this i-player) racer)))
|
||||
(s5-1 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f30-0 (* 0.0033333334 (the float (- (-> this current-time) (-> this countdown-start-time)))))
|
||||
(s5-1
|
||||
(the-as process (as-type (handle->process (-> this racer-array (-> this i-player) racer)) process-focusable))
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((< f30-0 1.0)
|
||||
(when s5-1
|
||||
@@ -630,12 +628,10 @@
|
||||
)
|
||||
)
|
||||
(((race-state-enum player-set-pos))
|
||||
(let* ((s4-2 (handle->process (-> this racer-array (-> this i-player) racer)))
|
||||
(s5-3 (if (type? s4-2 process-focusable)
|
||||
s4-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-3
|
||||
(the-as process (as-type (handle->process (-> this racer-array (-> this i-player) racer)) process-focusable))
|
||||
)
|
||||
)
|
||||
(when s5-3
|
||||
(cubic-curve-method-10 (-> this player-intro-curve) (-> (the-as process-focusable s5-3) root trans) 1.0)
|
||||
(vector-reset! (-> (the-as process-focusable s5-3) root transv))
|
||||
@@ -1255,15 +1251,9 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 70 20 0.0 (font-color orange) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-4 gp-1))
|
||||
(set! (-> v1-4 scale) 0.7)
|
||||
)
|
||||
(let ((v1-5 gp-1))
|
||||
(set! (-> v1-5 width) (the float 225))
|
||||
)
|
||||
(let ((v1-6 gp-1))
|
||||
(set! (-> v1-6 height) (the float 70))
|
||||
)
|
||||
(set-scale! gp-1 0.7)
|
||||
(set-width! gp-1 225)
|
||||
(set-height! gp-1 70)
|
||||
(set! (-> gp-1 origin x) (the float (- 256 (the int (/ (-> gp-1 width) 2)))))
|
||||
(set! (-> gp-1 origin y) 320.0)
|
||||
(set! (-> gp-1 flags) (font-flags shadow kerning middle middle-vert large))
|
||||
@@ -1285,15 +1275,9 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 70 20 0.0 (font-color orange) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-4 gp-1))
|
||||
(set! (-> v1-4 scale) 0.7)
|
||||
)
|
||||
(let ((v1-5 gp-1))
|
||||
(set! (-> v1-5 width) (the float 240))
|
||||
)
|
||||
(let ((v1-6 gp-1))
|
||||
(set! (-> v1-6 height) (the float 35))
|
||||
)
|
||||
(set-scale! gp-1 0.7)
|
||||
(set-width! gp-1 240)
|
||||
(set-height! gp-1 35)
|
||||
(set! (-> gp-1 origin x) (the float (- 256 (the int (/ (-> gp-1 width) 2)))))
|
||||
(set! (-> gp-1 origin y) 320.0)
|
||||
(set! (-> gp-1 flags) (font-flags shadow kerning middle middle-vert large))
|
||||
|
||||
+3
-9
@@ -612,15 +612,9 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 320 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-51 gp-0))
|
||||
(set! (-> v1-51 width) (the float 340))
|
||||
)
|
||||
(let ((v1-52 gp-0))
|
||||
(set! (-> v1-52 height) (the float 80))
|
||||
)
|
||||
(let ((v1-53 gp-0))
|
||||
(set! (-> v1-53 scale) 0.9)
|
||||
)
|
||||
(set-width! gp-0 340)
|
||||
(set-height! gp-0 80)
|
||||
(set-scale! gp-0 0.9)
|
||||
(set! (-> gp-0 flags) (font-flags shadow kerning large))
|
||||
(print-game-text
|
||||
(lookup-text! *common-text* (text-id press-triangle-to-use) #f)
|
||||
|
||||
+2
-6
@@ -551,12 +551,8 @@
|
||||
(set! sv-112
|
||||
(new 'stack 'font-context *font-default-matrix* 64 312 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
(let ((v1-25 sv-112))
|
||||
(set! (-> v1-25 width) (the float 384))
|
||||
)
|
||||
(let ((v1-26 sv-112))
|
||||
(set! (-> v1-26 height) (the float 50))
|
||||
)
|
||||
(set-width! sv-112 384)
|
||||
(set-height! sv-112 50)
|
||||
(set! (-> sv-112 flags) (font-flags shadow kerning middle middle-vert large))
|
||||
(set! (-> sv-112 scale) 0.7)
|
||||
(dotimes (s5-4 (-> gp-1 length))
|
||||
|
||||
+4
-12
@@ -914,13 +914,9 @@
|
||||
(defmethod dig-tether-method-22 ((this dig-tether))
|
||||
(with-pp
|
||||
(when (-> this clasp)
|
||||
(let* ((s4-0 (-> this clasp extra process))
|
||||
(s5-0 (if (type? s4-0 dig-clasp)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
(a1-1 (new 'stack-no-clear 'event-message-block))
|
||||
)
|
||||
(let ((s5-0 (the-as process (as-type (-> this clasp extra process) dig-clasp)))
|
||||
(a1-1 (new 'stack-no-clear 'event-message-block))
|
||||
)
|
||||
(set! (-> a1-1 from) (process->ppointer pp))
|
||||
(set! (-> a1-1 num-params) 0)
|
||||
(set! (-> a1-1 message) 'broken?)
|
||||
@@ -1392,11 +1388,7 @@
|
||||
(the-as collide-shape (-> self root))
|
||||
(the-as uint 1)
|
||||
)
|
||||
(let ((a0-7 (if (type? proc process-focusable)
|
||||
proc
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-7 (the-as process (as-type proc process-focusable))))
|
||||
(when a0-7
|
||||
(if (send-event a0-7 'attack (-> block param 0) (static-attack-info ((id (new-attack-id)))))
|
||||
#f
|
||||
|
||||
+2
-12
@@ -918,12 +918,7 @@
|
||||
)
|
||||
0
|
||||
(logclear! (-> self mask) (process-mask actor-pause))
|
||||
(let* ((gp-0 *target*)
|
||||
(a0-4 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-4 (the-as target (as-type *target* process-focusable))))
|
||||
(if a0-4
|
||||
(dig-bomb-crate-method-29 self (get-trans a0-4 0))
|
||||
)
|
||||
@@ -934,12 +929,7 @@
|
||||
(logior! (-> self draw status) (draw-control-status no-draw))
|
||||
(sound-play "bomb-rack-break")
|
||||
(let ((gp-1 (new 'stack 'joint-exploder-tuning (the-as uint 1))))
|
||||
(let* ((s5-1 *target*)
|
||||
(a0-5 (if (type? s5-1 process-focusable)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-5 (the-as target (as-type *target* process-focusable))))
|
||||
(when a0-5
|
||||
(set! (-> gp-1 fountain-rand-transv-lo quad) (-> (get-trans a0-5 0) quad))
|
||||
(+! (-> gp-1 fountain-rand-transv-lo y) -16384.0)
|
||||
|
||||
+1
-6
@@ -1760,12 +1760,7 @@
|
||||
;; definition for function calculate-ship-projectile-velocity
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun calculate-ship-projectile-velocity ((arg0 projectile-init-by-other-params) (arg1 float))
|
||||
(let* ((s4-0 *target*)
|
||||
(a0-2 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-2 (the-as target (as-type *target* process-focusable))))
|
||||
(cond
|
||||
(a0-2
|
||||
(let ((a0-3 (get-trans a0-2 0)))
|
||||
|
||||
+10
-25
@@ -276,9 +276,7 @@
|
||||
(the-as attack-info (mem-copy! (the-as pointer (new 'stack-no-clear 'attack-info)) (the-as pointer s4-0) 160))
|
||||
(the-as uint s4-0)
|
||||
self
|
||||
(if (type? arg0 process-drawable)
|
||||
arg0
|
||||
)
|
||||
(the-as process (as-type arg0 process-drawable))
|
||||
(the-as touching-shapes-entry (-> arg3 param 0))
|
||||
)
|
||||
(+! (-> self next-hit-state) 1)
|
||||
@@ -474,12 +472,7 @@
|
||||
(defstate idle (drill-sliding-door)
|
||||
:virtual #t
|
||||
:trans (behavior ()
|
||||
(let* ((gp-0 *target*)
|
||||
(a0-1 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-1 (the-as target (as-type *target* process-focusable))))
|
||||
(if (and a0-1 (< (vector-vector-distance (-> self root trans) (get-trans a0-1 0)) 40960.0))
|
||||
(go-virtual open)
|
||||
)
|
||||
@@ -770,14 +763,10 @@
|
||||
:event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
|
||||
(case message
|
||||
(('attack)
|
||||
(let* ((s5-0 (-> block param 0))
|
||||
(gp-0 (the-as object (-> block param 1)))
|
||||
(s4-0 proc)
|
||||
(v1-1 (if (type? s4-0 process-drawable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (-> block param 0))
|
||||
(gp-0 (the-as object (-> block param 1)))
|
||||
(v1-1 (the-as process (as-type proc process-drawable)))
|
||||
)
|
||||
(when (and s5-0
|
||||
v1-1
|
||||
(or (= (-> (the-as attack-info gp-0) mode) 'turret) (= (-> (the-as attack-info gp-0) mode) 'explode))
|
||||
@@ -1216,14 +1205,10 @@
|
||||
:event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
|
||||
(case message
|
||||
(('attack)
|
||||
(let* ((gp-0 (-> block param 0))
|
||||
(s5-0 (the-as object (-> block param 1)))
|
||||
(s4-0 proc)
|
||||
(v1-1 (if (type? s4-0 process-drawable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (-> block param 0))
|
||||
(s5-0 (the-as object (-> block param 1)))
|
||||
(v1-1 (the-as process (as-type proc process-drawable)))
|
||||
)
|
||||
(if (and gp-0 v1-1 (case (-> (the-as attack-info s5-0) mode)
|
||||
(('turret 'explode 'wasp-shot)
|
||||
#t
|
||||
|
||||
+7
-21
@@ -621,12 +621,7 @@
|
||||
(defmethod commited-to-ride? ((this drill-mech-elevator))
|
||||
"@returns if the target is considered within the elevator area enough to begin descending/ascending"
|
||||
(when (= (-> this move-pos 1) (-> this bottom-top 0))
|
||||
(let* ((s5-0 *target*)
|
||||
(a0-2 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-2 (the-as target (as-type *target* process-focusable))))
|
||||
(when (and a0-2 (focus-test? a0-2 mech) (not (logtest? (-> a0-2 focus-status) (focus-status dead ignore))))
|
||||
(let* ((v1-5 (get-trans a0-2 0))
|
||||
(s5-2 (vector-! (new 'stack-no-clear 'vector) v1-5 (-> this root trans)))
|
||||
@@ -759,12 +754,7 @@
|
||||
:event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
|
||||
(case message
|
||||
(('touch 'attack)
|
||||
(let* ((s4-0 proc)
|
||||
(gp-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (the-as process (as-type proc process-focusable))))
|
||||
(when gp-0
|
||||
(when (or (focus-test? (the-as process-focusable gp-0) mech)
|
||||
(time-elapsed? (-> self no-collision-timer) (the-as time-frame (-> *TARGET-bank* hit-invulnerable-timeout)))
|
||||
@@ -1598,15 +1588,11 @@
|
||||
(let ((f0-7 (probe-using-line-sphere *collide-cache* s5-1)))
|
||||
(when (>= f0-7 0.0)
|
||||
(vector-float*! (-> s5-1 move-dist) (-> s5-1 move-dist) f0-7)
|
||||
(let ((s4-2 (-> s5-1 best-other-tri collide-ptr)))
|
||||
(when (if (type? s4-2 collide-shape-prim-sphere)
|
||||
s4-2
|
||||
)
|
||||
(set! gp-0 #t)
|
||||
(if (zero? (-> self hit-sound-id))
|
||||
(set! (-> self hit-sound-id) (sound-play "drill-laser-cut"))
|
||||
)
|
||||
)
|
||||
(when (the-as basic (as-type (-> s5-1 best-other-tri collide-ptr) collide-shape-prim-sphere))
|
||||
(set! gp-0 #t)
|
||||
(if (zero? (-> self hit-sound-id))
|
||||
(set! (-> self hit-sound-id) (sound-play "drill-laser-cut"))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
+1
-6
@@ -142,12 +142,7 @@
|
||||
;; definition for method 45 of type drill-lift
|
||||
(defmethod commited-to-ride? ((this drill-lift))
|
||||
"@returns if the target is considered within the elevator area enough to begin descending/ascending"
|
||||
(let* ((gp-0 *target*)
|
||||
(a0-2 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-2 (the-as target (as-type *target* process-focusable))))
|
||||
(when a0-2
|
||||
(let* ((v1-1 (get-trans a0-2 0))
|
||||
(gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> this root trans)))
|
||||
|
||||
+9
-13
@@ -584,21 +584,17 @@
|
||||
(local-vars (v0-1 object))
|
||||
(case arg2
|
||||
(('touched)
|
||||
(let ((s5-0 arg0))
|
||||
(when (if (type? s5-0 ginsu)
|
||||
s5-0
|
||||
)
|
||||
(let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> this node-list data 8))))
|
||||
(let ((a0-5 (vector<-cspace! (new 'stack-no-clear 'vector) (-> this node-list data 8))))
|
||||
(vector+! s5-1 s5-1 a0-5)
|
||||
)
|
||||
(vector-float*! s5-1 s5-1 0.5)
|
||||
(spawn (-> this part) s5-1)
|
||||
(when (the-as process (as-type arg0 ginsu))
|
||||
(let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> this node-list data 8))))
|
||||
(let ((a0-5 (vector<-cspace! (new 'stack-no-clear 'vector) (-> this node-list data 8))))
|
||||
(vector+! s5-1 s5-1 a0-5)
|
||||
)
|
||||
(set! v0-1 (+ (current-time) (seconds 0.125)))
|
||||
(set! (-> this grind-timer) (the-as time-frame v0-1))
|
||||
v0-1
|
||||
(vector-float*! s5-1 s5-1 0.5)
|
||||
(spawn (-> this part) s5-1)
|
||||
)
|
||||
(set! v0-1 (+ (current-time) (seconds 0.125)))
|
||||
(set! (-> this grind-timer) (the-as time-frame v0-1))
|
||||
v0-1
|
||||
)
|
||||
)
|
||||
(('touch 'bonk 'attack)
|
||||
|
||||
+24
-36
@@ -201,46 +201,34 @@
|
||||
(send-event proc 'touch (-> block param 0))
|
||||
)
|
||||
(('attack)
|
||||
(let ((s4-0 *target*)
|
||||
(s3-0 proc)
|
||||
)
|
||||
(when (!= (if (type? s3-0 process-focusable)
|
||||
(the-as process-focusable s3-0)
|
||||
(when (!= (as-type proc process-focusable) *target*)
|
||||
(let ((s5-1 (the-as attack-info (-> block param 1))))
|
||||
(case (-> s5-1 mode)
|
||||
(('eco-red 'eco-yellow 'eco-blue 'eco-dark)
|
||||
#f
|
||||
)
|
||||
(else
|
||||
(when (!= (-> s5-1 id) (-> self incoming-attack-id))
|
||||
(set! (-> self incoming-attack-id) (-> s5-1 id))
|
||||
(let ((v1-10 (as-type proc process-focusable)))
|
||||
(cond
|
||||
(v1-10
|
||||
(vector-! (-> self hit-dir) (-> self root trans) (-> v1-10 root trans))
|
||||
(vector-normalize! (-> self hit-dir) 1.0)
|
||||
)
|
||||
s4-0
|
||||
)
|
||||
(let ((s5-1 (the-as attack-info (-> block param 1))))
|
||||
(case (-> s5-1 mode)
|
||||
(('eco-red 'eco-yellow 'eco-blue 'eco-dark)
|
||||
#f
|
||||
)
|
||||
(else
|
||||
(when (!= (-> s5-1 id) (-> self incoming-attack-id))
|
||||
(set! (-> self incoming-attack-id) (-> s5-1 id))
|
||||
(let ((v1-10 (if (type? proc process-focusable)
|
||||
(the-as process-focusable proc)
|
||||
)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
(v1-10
|
||||
(vector-! (-> self hit-dir) (-> self root trans) (-> v1-10 root trans))
|
||||
(vector-normalize! (-> self hit-dir) 1.0)
|
||||
)
|
||||
((logtest? (attack-mask attacker-velocity) (-> s5-1 mask))
|
||||
(vector-normalize-copy! (-> self hit-dir) (-> s5-1 attacker-velocity) 1.0)
|
||||
)
|
||||
(else
|
||||
(vector-reset! (-> self hit-dir))
|
||||
)
|
||||
((logtest? (attack-mask attacker-velocity) (-> s5-1 mask))
|
||||
(vector-normalize-copy! (-> self hit-dir) (-> s5-1 attacker-velocity) 1.0)
|
||||
)
|
||||
(else
|
||||
(vector-reset! (-> self hit-dir))
|
||||
)
|
||||
)
|
||||
(+! (-> self hit-points) -1.0)
|
||||
(if (>= 0.0 (-> self hit-points))
|
||||
(go-virtual die)
|
||||
(go-virtual hit)
|
||||
)
|
||||
)
|
||||
(+! (-> self hit-points) -1.0)
|
||||
(if (>= 0.0 (-> self hit-points))
|
||||
(go-virtual die)
|
||||
(go-virtual hit)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
+16
-22
@@ -700,18 +700,14 @@
|
||||
#t
|
||||
)
|
||||
(else
|
||||
(let ((s4-1 (-> s5-0 best-other-tri collide-ptr)))
|
||||
(when (and (if (type? s4-1 collide-shape-prim)
|
||||
s4-1
|
||||
)
|
||||
(< (vector-dot
|
||||
(-> s5-0 best-other-tri normal)
|
||||
(vector-! (new 'stack-no-clear 'vector) arg2 (the-as vector (-> s5-0 best-other-tri)))
|
||||
)
|
||||
0.0
|
||||
(when (and (the-as basic (as-type (-> s5-0 best-other-tri collide-ptr) collide-shape-prim))
|
||||
(< (vector-dot
|
||||
(-> s5-0 best-other-tri normal)
|
||||
(vector-! (new 'stack-no-clear 'vector) arg2 (the-as vector (-> s5-0 best-other-tri)))
|
||||
)
|
||||
)
|
||||
)
|
||||
0.0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1813,17 +1809,15 @@
|
||||
(set! (-> s2-1 entity) (-> this actor-group 1 data s5-2 actor))
|
||||
(set! (-> s2-1 directed?) #f)
|
||||
(set! (-> s2-1 no-initial-move-to-ground?) #f)
|
||||
(let* ((s1-2 (ppointer->process (process-spawn predator :init enemy-init-by-other this s2-1 :to this)))
|
||||
(s2-2 (if (type? s1-2 process-focusable)
|
||||
s1-2
|
||||
)
|
||||
)
|
||||
(s3-2 (entity-nav-mesh-by-aid (the-as actor-id (-> s3-1 nav-mesh-id))))
|
||||
(v1-66 (if (type? s3-2 entity-nav-mesh)
|
||||
s3-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s2-2
|
||||
(the-as process (as-type
|
||||
(ppointer->process (process-spawn predator :init enemy-init-by-other this s2-1 :to this))
|
||||
process-focusable
|
||||
)
|
||||
)
|
||||
)
|
||||
(v1-66 (as-type (entity-nav-mesh-by-aid (the-as actor-id (-> s3-1 nav-mesh-id))) entity-nav-mesh))
|
||||
)
|
||||
(set! (-> this predator-h (-> this predator-count)) (process->handle s2-2))
|
||||
(+! (-> this predator-count) 1)
|
||||
(when v1-66
|
||||
|
||||
+1
-6
@@ -139,12 +139,7 @@
|
||||
(defmethod spooked? ((this wren))
|
||||
"@returns a [[symbol]] indicating if Jak is considered close enough to the wren to spook it.
|
||||
If so, it transitions from [[wren::peck]] to [[wren::hunt]]"
|
||||
(let* ((gp-0 *target*)
|
||||
(a0-2 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-2 (the-as target (as-type *target* process-focusable))))
|
||||
(the-as symbol (and a0-2 (< (vector-vector-xz-distance (-> this root trans) (get-trans a0-2 0)) 102400.0)))
|
||||
)
|
||||
)
|
||||
|
||||
+11
-23
@@ -75,14 +75,10 @@
|
||||
:event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
|
||||
(case message
|
||||
(('attack)
|
||||
(let* ((s5-0 (-> block param 0))
|
||||
(gp-0 (the-as attack-info (-> block param 1)))
|
||||
(s4-0 proc)
|
||||
(v1-1 (if (type? s4-0 process-drawable)
|
||||
(the-as process-drawable s4-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (-> block param 0))
|
||||
(gp-0 (the-as attack-info (-> block param 1)))
|
||||
(v1-1 (as-type proc process-drawable))
|
||||
)
|
||||
(if (and s5-0 v1-1 (or (= (-> gp-0 mode) 'fort-robotank-shot) (= (-> gp-0 mode) 'explode)))
|
||||
(go-virtual die)
|
||||
)
|
||||
@@ -257,14 +253,10 @@
|
||||
:event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
|
||||
(case message
|
||||
(('attack 'touch)
|
||||
(let* ((gp-0 (-> block param 0))
|
||||
(s5-0 (the-as attack-info (-> block param 1)))
|
||||
(s4-0 proc)
|
||||
(v1-1 (if (type? s4-0 projectile)
|
||||
(the-as projectile s4-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (-> block param 0))
|
||||
(s5-0 (the-as attack-info (-> block param 1)))
|
||||
(v1-1 (as-type proc projectile))
|
||||
)
|
||||
(if (and gp-0 v1-1 (= (-> s5-0 mode) 'fort-robotank-shot))
|
||||
(go-virtual die)
|
||||
)
|
||||
@@ -731,13 +723,9 @@
|
||||
(go-virtual dormant)
|
||||
)
|
||||
(('touched)
|
||||
(let ((s4-0 proc))
|
||||
(if (if (type? s4-0 process-drawable)
|
||||
s4-0
|
||||
)
|
||||
(send-event proc 'attack (-> block param 0) (static-attack-info ((id (-> self attack-id)) (mode 'explode))))
|
||||
)
|
||||
)
|
||||
(if (the-as process (as-type proc process-drawable))
|
||||
(send-event proc 'attack (-> block param 0) (static-attack-info ((id (-> self attack-id)) (mode 'explode))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
+20
-43
@@ -1059,13 +1059,9 @@
|
||||
)
|
||||
)
|
||||
(vector+float*! s4-0 (-> s3-0 start-pos) (-> s3-0 move-dist) f28-0)
|
||||
(let* ((s3-1 (-> s3-0 best-other-tri collide-ptr))
|
||||
(s2-0 (if (type? s3-1 collide-shape-prim)
|
||||
(the-as collide-shape-prim s3-1)
|
||||
)
|
||||
)
|
||||
(s3-2 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(let ((s2-0 (as-type (-> s3-0 best-other-tri collide-ptr) collide-shape-prim))
|
||||
(s3-2 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(set! (-> s3-2 quad) (-> s4-0 quad))
|
||||
(vector+float*! s3-2 s3-2 (-> (math-camera-matrix) vector 2) -2048.0)
|
||||
(cond
|
||||
@@ -1102,12 +1098,7 @@
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior turret-post fort-robotank-turret ()
|
||||
(let* ((s5-0 *target*)
|
||||
(gp-0 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (the-as target (as-type *target* process-focusable))))
|
||||
(cond
|
||||
((and (logtest? (-> self flags) (robotank-turret-flags rotflags-0)) gp-0)
|
||||
(send-event (handle->process (-> self reticle)) 'on)
|
||||
@@ -1382,16 +1373,12 @@
|
||||
(if (logtest? (-> self flags) (robotank-turret-flags rotflags-4))
|
||||
(set-time! (-> self gun-timer))
|
||||
)
|
||||
(let ((gp-0 *target*))
|
||||
(if (and (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
(or (not (logtest? (-> self flags) (robotank-turret-flags rotflags-9))) (check-los? (-> self los) 0))
|
||||
(time-elapsed? (-> self gun-timer) (seconds 1))
|
||||
)
|
||||
(go-virtual fire)
|
||||
)
|
||||
)
|
||||
(if (and (the-as target (as-type *target* process-focusable))
|
||||
(or (not (logtest? (-> self flags) (robotank-turret-flags rotflags-9))) (check-los? (-> self los) 0))
|
||||
(time-elapsed? (-> self gun-timer) (seconds 1))
|
||||
)
|
||||
(go-virtual fire)
|
||||
)
|
||||
)
|
||||
:code (behavior ()
|
||||
(until #f
|
||||
@@ -1412,12 +1399,7 @@
|
||||
:event robotank-turret-handler
|
||||
:enter (behavior ()
|
||||
(logior! (-> self flags) (robotank-turret-flags rotflags-8))
|
||||
(let* ((gp-0 *target*)
|
||||
(a0-1 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-1 (the-as target (as-type *target* process-focusable))))
|
||||
(when a0-1
|
||||
(set! (-> self aim-pos 0 quad) (-> (get-trans a0-1 0) quad))
|
||||
(set! (-> self aim-pos-2 quad) (-> self aim-pos 0 quad))
|
||||
@@ -1426,20 +1408,15 @@
|
||||
)
|
||||
)
|
||||
:trans (behavior ()
|
||||
(let ((gp-0 *target*))
|
||||
(when (or (not (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
(and (logtest? (-> self flags) (robotank-turret-flags rotflags-9))
|
||||
(not (logtest? (-> self flags) (robotank-turret-flags rotflags-3)))
|
||||
(skip-check-los? (-> self los) 0)
|
||||
)
|
||||
(logtest? (-> self flags) (robotank-turret-flags rotflags-4))
|
||||
)
|
||||
(logclear! (-> self flags) (robotank-turret-flags rotflags-8))
|
||||
(go-virtual ready)
|
||||
)
|
||||
(when (or (not (the-as target (as-type *target* process-focusable)))
|
||||
(and (logtest? (-> self flags) (robotank-turret-flags rotflags-9))
|
||||
(not (logtest? (-> self flags) (robotank-turret-flags rotflags-3)))
|
||||
(skip-check-los? (-> self los) 0)
|
||||
)
|
||||
(logtest? (-> self flags) (robotank-turret-flags rotflags-4))
|
||||
)
|
||||
(logclear! (-> self flags) (robotank-turret-flags rotflags-8))
|
||||
(go-virtual ready)
|
||||
)
|
||||
)
|
||||
:code (behavior ()
|
||||
|
||||
+7
-29
@@ -487,12 +487,7 @@
|
||||
(f26-0 0.0)
|
||||
)
|
||||
(when (and (or (< f0-44 f24-0) (< f24-0 f1-16)) (time-elapsed? (-> self buzz-timer) (the int (/ f30-2 2))))
|
||||
(let* ((gp-2 *target*)
|
||||
(a0-43 (if (type? gp-2 process-focusable)
|
||||
gp-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-43 (the-as target (as-type *target* process-focusable))))
|
||||
(if a0-43
|
||||
(set! f26-0
|
||||
(lerp-scale 1.0 0.0 (vector-vector-distance (-> self root trans) (get-trans a0-43 0)) 81920.0 327680.0)
|
||||
@@ -602,11 +597,7 @@
|
||||
(-> self root)
|
||||
(the-as uint 1)
|
||||
)
|
||||
(let ((s5-0 (if (type? arg0 process-focusable)
|
||||
(the-as process-focusable arg0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (as-type arg0 process-focusable)))
|
||||
(when s5-0
|
||||
(let ((a0-48 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))))
|
||||
(when (send-event
|
||||
@@ -840,12 +831,7 @@
|
||||
(if (not *target*)
|
||||
(go-virtual die)
|
||||
)
|
||||
(let* ((gp-0 *target*)
|
||||
(a0-1 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-1 (the-as target (as-type *target* process-focusable))))
|
||||
(when a0-1
|
||||
(if (< (-> (get-trans a0-1 0) y) (+ -18432.0 (-> self root trans y)))
|
||||
(go-virtual die)
|
||||
@@ -857,13 +843,9 @@
|
||||
(gp-1 (-> self segment-table v1-14))
|
||||
)
|
||||
(fort-robotank-method-26 self 0 (-> s5-0 u) (-> s5-0 prev-u))
|
||||
(let ((s4-0 *target*))
|
||||
(if (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
(fort-robotank-method-26 self 1 (-> self player-u) (-> self player-prev-u))
|
||||
)
|
||||
)
|
||||
(if (the-as target (as-type *target* process-focusable))
|
||||
(fort-robotank-method-26 self 1 (-> self player-u) (-> self player-prev-u))
|
||||
)
|
||||
(when (= (-> s5-0 u) 1.0)
|
||||
(cond
|
||||
((logtest? (-> gp-1 flags) 1)
|
||||
@@ -896,11 +878,7 @@
|
||||
)
|
||||
:post (behavior ()
|
||||
(when (logtest? (-> self flags) (robotank-flags roflags-2))
|
||||
(let* ((gp-0 *target*)
|
||||
(s3-0 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
(let* ((s3-0 (the-as target (as-type *target* process-focusable)))
|
||||
(s5-0 (if s3-0
|
||||
(get-trans s3-0 0)
|
||||
(the-as vector #f)
|
||||
|
||||
+1
-6
@@ -680,12 +680,7 @@
|
||||
((>= f30-0 0.0)
|
||||
(set! (-> this beam-intersect) (the-as basic 'wall))
|
||||
(when (-> s3-0 best-other-tri collide-ptr)
|
||||
(let* ((s3-1 (-> s3-0 best-other-tri collide-ptr))
|
||||
(a0-14 (if (type? s3-1 collide-shape-prim)
|
||||
(the-as collide-shape-prim s3-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-14 (as-type (-> s3-0 best-other-tri collide-ptr) collide-shape-prim)))
|
||||
(when a0-14
|
||||
(when (= (-> a0-14 cshape process type) target)
|
||||
(set! (-> this target-timeout) (the-as uint (current-time)))
|
||||
|
||||
+1
-6
@@ -111,12 +111,7 @@
|
||||
(with-pp
|
||||
(sound-play "wcrate-break")
|
||||
(let ((exploder-tuning (new 'stack 'joint-exploder-tuning (the-as uint 1))))
|
||||
(let* ((target *target*)
|
||||
(target-proc (if (type? target process-focusable)
|
||||
target
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((target-proc (the-as target (as-type *target* process-focusable))))
|
||||
(when target-proc
|
||||
(set! (-> exploder-tuning fountain-rand-transv-lo quad) (-> (get-trans target-proc 0) quad))
|
||||
(+! (-> exploder-tuning fountain-rand-transv-lo y) -16384.0)
|
||||
|
||||
+1
-6
@@ -321,12 +321,7 @@
|
||||
(set! (-> v1-54 action-mask) (collide-action solid semi-solid))
|
||||
)
|
||||
(when (>= (probe-using-line-sphere *collide-cache* s3-2) 0.0)
|
||||
(let* ((s2-2 (-> s3-2 best-other-tri collide-ptr))
|
||||
(s3-3 (if (type? s2-2 collide-shape-prim-sphere)
|
||||
(the-as collide-shape-prim-sphere s2-2)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-3 (as-type (-> s3-2 best-other-tri collide-ptr) collide-shape-prim-sphere)))
|
||||
(when s3-3
|
||||
(sound-play "laser-hit")
|
||||
(let ((s2-4 (get-process *default-dead-pool* lightning-tracker #x4000)))
|
||||
|
||||
+7
-15
@@ -2324,22 +2324,14 @@
|
||||
)
|
||||
(when (!= (-> attack-info id) (-> self incoming-attack-id))
|
||||
(set! (-> self incoming-attack-id) (-> attack-info id))
|
||||
(let ((proc-draw (if (type? proc process-drawable)
|
||||
(the-as process-drawable proc)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((proc-draw (as-type proc process-drawable)))
|
||||
(when proc-draw
|
||||
(let ((cshape (-> proc-draw root)))
|
||||
(when (if (type? cshape collide-shape)
|
||||
cshape
|
||||
)
|
||||
(vector+float*! (-> self impact) (-> self root trans) *up-vector* 8192.0)
|
||||
(vector+!
|
||||
(-> self impact)
|
||||
(-> self impact)
|
||||
(vector-normalize! (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans)) 4096.0)
|
||||
)
|
||||
(when (the-as trsqv (as-type (-> proc-draw root) collide-shape))
|
||||
(vector+float*! (-> self impact) (-> self root trans) *up-vector* 8192.0)
|
||||
(vector+!
|
||||
(-> self impact)
|
||||
(-> self impact)
|
||||
(vector-normalize! (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans)) 4096.0)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
|
||||
+14
-40
@@ -285,15 +285,9 @@
|
||||
)
|
||||
)
|
||||
(set! (-> s5-1 flags) (font-flags shadow kerning middle-vert large))
|
||||
(let ((v1-4 s5-1))
|
||||
(set! (-> v1-4 width) (the float 440))
|
||||
)
|
||||
(let ((v1-5 s5-1))
|
||||
(set! (-> v1-5 height) (the float 80))
|
||||
)
|
||||
(let ((v1-6 s5-1))
|
||||
(set! (-> v1-6 scale) 0.7)
|
||||
)
|
||||
(set-width! s5-1 440)
|
||||
(set-height! s5-1 80)
|
||||
(set-scale! s5-1 0.7)
|
||||
(let ((s4-0 print-game-text))
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* arg0 #f))
|
||||
(s4-0 *temp-string* s5-1 #f 44 (bucket-id progress))
|
||||
@@ -1873,13 +1867,9 @@
|
||||
(suspend)
|
||||
)
|
||||
(when (> (-> self egg-count) 0)
|
||||
(let* ((gp-0 (handle->process (-> self voicebox)))
|
||||
(v1-8 (if (type? gp-0 process-drawable)
|
||||
(the-as process-drawable gp-0)
|
||||
)
|
||||
)
|
||||
(t1-0 (new 'static 'fact-info))
|
||||
)
|
||||
(let ((v1-8 (as-type (handle->process (-> self voicebox)) process-drawable))
|
||||
(t1-0 (new 'static 'fact-info))
|
||||
)
|
||||
(set! (-> t1-0 options) (actor-option))
|
||||
(logior! (-> t1-0 options) (actor-option suck-in))
|
||||
(birth-pickup-at-point
|
||||
@@ -1953,27 +1943,13 @@
|
||||
|
||||
;; definition for method 26 of type training-manager
|
||||
(defmethod training-manager-method-26 ((this training-manager))
|
||||
(local-vars (s3-0 object))
|
||||
(let ((gp-0 0))
|
||||
(dotimes (s4-0 (-> *entrance-gungame-crates-pos* length))
|
||||
(if (and (handle->process (-> this entrance-crates s4-0))
|
||||
(begin
|
||||
(let* ((s3-1 #t)
|
||||
(s2-0 (-> this entrance-crates s4-0 process 0))
|
||||
(v1-11 (the-as focus-status (logand (-> (if (type? s2-0 process-focusable)
|
||||
(the-as process-focusable s2-0)
|
||||
)
|
||||
focus-status
|
||||
)
|
||||
(focus-status dead)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(cmove-#f-nonzero s3-0 v1-11 s3-1)
|
||||
)
|
||||
s3-0
|
||||
)
|
||||
(not (logtest? (-> (as-type (-> this entrance-crates s4-0 process 0) process-focusable) focus-status)
|
||||
(focus-status dead)
|
||||
)
|
||||
)
|
||||
)
|
||||
(+! gp-0 1)
|
||||
)
|
||||
@@ -2131,12 +2107,10 @@
|
||||
(training-manager-method-29 this s4-0)
|
||||
(set! (-> s3-0 pickup-type) (-> arg0 s2-0 ammo))
|
||||
(set! (-> s3-0 pickup-spawn-amount) (the float (-> arg0 s2-0 num)))
|
||||
(let* ((s0-0 (ppointer->process (process-spawn crate #f s4-0 'wood s3-0 :to *entity-pool*)))
|
||||
(s1-1 (if (type? s0-0 process-focusable)
|
||||
(the-as process-focusable s0-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-1
|
||||
(as-type (ppointer->process (process-spawn crate #f s4-0 'wood s3-0 :to *entity-pool*)) process-focusable)
|
||||
)
|
||||
)
|
||||
(quaternion-vector-angle! (-> s1-1 root quat) *up-vector* (+ -4551.1113 (-> arg0 s2-0 pos w)))
|
||||
(set! (-> this course-crates s2-0) (process->handle s1-1))
|
||||
)
|
||||
|
||||
+1
-6
@@ -1537,12 +1537,7 @@
|
||||
(sleep-code)
|
||||
)
|
||||
:post (behavior ()
|
||||
(let* ((s5-0 (handle->process (-> self cabinet)))
|
||||
(gp-0 (if (type? s5-0 process-drawable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (the-as process (as-type (handle->process (-> self cabinet)) process-drawable))))
|
||||
(when gp-0
|
||||
(let* ((v1-4 (-> self index))
|
||||
(v1-5 (cond
|
||||
|
||||
+2
-12
@@ -231,19 +231,9 @@
|
||||
(let ((attack-info (the-as object (-> block param 1))))
|
||||
(when (!= (-> (the-as attack-info attack-info) id) (-> self incoming-attack-id))
|
||||
(set! (-> self incoming-attack-id) (-> (the-as attack-info attack-info) id))
|
||||
(let* ((attacking-proc proc)
|
||||
(attacker (if (type? attacking-proc process-drawable)
|
||||
(the-as process-drawable attacking-proc)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((attacker (as-type proc process-drawable)))
|
||||
(when attacker
|
||||
(let* ((attacker-root (-> attacker root))
|
||||
(cshape (if (type? attacker-root collide-shape)
|
||||
(the-as collide-shape attacker-root)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((cshape (as-type (-> attacker root) collide-shape)))
|
||||
(when cshape
|
||||
(when (logtest? (-> cshape root-prim prim-core collide-as) (collide-spec projectile))
|
||||
(when (zero? (-> self state-flip))
|
||||
|
||||
+6
-32
@@ -473,12 +473,7 @@
|
||||
(vf7 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(let* ((s3-0 (-> arg0 root))
|
||||
(s4-0 (if (type? s3-0 collide-shape)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-0 (as-type (-> arg0 root) collide-shape)))
|
||||
(when s4-0
|
||||
(let ((s3-1 (new 'stack-no-clear 'vector))
|
||||
(f30-0 -0.71)
|
||||
@@ -598,12 +593,7 @@
|
||||
(vf7 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(let* ((s3-0 (-> arg1 root))
|
||||
(s0-0 (if (type? s3-0 collide-shape)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s0-0 (as-type (-> arg1 root) collide-shape)))
|
||||
(when s0-0
|
||||
(let ((s5-1 ((method-of-type touching-prims-entry get-touched-prim)
|
||||
(the-as touching-prims-entry arg0)
|
||||
@@ -813,16 +803,8 @@
|
||||
)
|
||||
((= message 'touch)
|
||||
(let* ((s3-0 proc)
|
||||
(s2-0 proc)
|
||||
(s4-1 (if (type? s2-0 process-focusable)
|
||||
(the-as process-focusable s2-0)
|
||||
)
|
||||
)
|
||||
(s2-1 (-> (the-as process-focusable s3-0) root))
|
||||
(s3-1 (if (type? s2-1 collide-shape)
|
||||
s2-1
|
||||
)
|
||||
)
|
||||
(s4-1 (as-type proc process-focusable))
|
||||
(s3-1 (as-type (-> (the-as process-focusable s3-0) root) collide-shape))
|
||||
)
|
||||
(when s3-1
|
||||
(let* ((s2-2 (the-as object (-> block param 0)))
|
||||
@@ -877,10 +859,7 @@
|
||||
(when (!= (-> (the-as attack-info v1-56) id) (-> self incoming-attack-id))
|
||||
(set! (-> self incoming-attack-id) (-> (the-as attack-info v1-56) id))
|
||||
(let ((s3-2 proc)
|
||||
(s4-2 (if (type? proc process-focusable)
|
||||
(the-as process-focusable proc)
|
||||
)
|
||||
)
|
||||
(s4-2 (as-type proc process-focusable))
|
||||
)
|
||||
(let ((s5-3 (-> (the-as process-focusable s3-2) root)))
|
||||
(if (type? s5-3 collide-shape)
|
||||
@@ -3539,12 +3518,7 @@
|
||||
"Does any necessary initial platform setup.
|
||||
For example for an elevator pre-compute the distance between the first and last points (both ways) and clear the sound."
|
||||
(logior! (-> this flags) (mtn-plat-flags mtpflags-1))
|
||||
(let* ((s5-0 *target*)
|
||||
(a0-2 (if (type? s5-0 process-focusable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-2 (the-as target (as-type *target* process-focusable))))
|
||||
(when a0-2
|
||||
(let ((s4-0 (get-trans a0-2 0))
|
||||
(s3-0 (-> this path))
|
||||
|
||||
+19
-35
@@ -579,13 +579,9 @@
|
||||
|
||||
;; definition for method 182 of type rhino
|
||||
(defmethod hit-stomach? ((this rhino) (arg0 process) (arg1 event-message-block))
|
||||
(let* ((gp-0 (-> arg1 param 0))
|
||||
(s5-0 arg0)
|
||||
(s2-0 (if (type? s5-0 process-drawable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (-> arg1 param 0))
|
||||
(s2-0 (the-as process (as-type arg0 process-drawable)))
|
||||
)
|
||||
(cond
|
||||
((and (-> this can-hit?) gp-0 ((method-of-type touching-shapes-entry prims-touching?)
|
||||
(the-as touching-shapes-entry gp-0)
|
||||
@@ -669,15 +665,11 @@
|
||||
(kill-prefer-falling this)
|
||||
)
|
||||
(else
|
||||
(let* ((s5-0 arg0)
|
||||
(s2-0 (if (type? s5-0 process-drawable)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
(s3-0 (new 'stack-no-clear 'vector))
|
||||
(s4-0 (new 'stack-no-clear 'vector))
|
||||
(s5-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(let ((s2-0 (the-as process (as-type arg0 process-drawable)))
|
||||
(s3-0 (new 'stack-no-clear 'vector))
|
||||
(s4-0 (new 'stack-no-clear 'vector))
|
||||
(s5-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(vector-z-quaternion! s3-0 (-> this root quat))
|
||||
(vector-x-quaternion! s4-0 (-> this root quat))
|
||||
(vector-! s5-1 (-> (the-as process-focusable s2-0) root trans) (-> this root trans))
|
||||
@@ -1000,13 +992,9 @@
|
||||
;; definition for method 75 of type rhino
|
||||
;; WARN: Return type mismatch symbol vs object.
|
||||
(defmethod enemy-method-75 ((this rhino) (arg0 process) (arg1 event-message-block))
|
||||
(let* ((touch-entry (the-as touching-shapes-entry (-> arg1 param 0)))
|
||||
(s3-0 arg0)
|
||||
(v1-0 (if (type? s3-0 process-focusable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((touch-entry (the-as touching-shapes-entry (-> arg1 param 0)))
|
||||
(v1-0 (the-as object (as-type arg0 process-focusable)))
|
||||
)
|
||||
(when (and (the-as uint touch-entry) v1-0)
|
||||
(cond
|
||||
((and (focus-test? this dangerous) ((method-of-type touching-shapes-entry prims-touching-action?)
|
||||
@@ -1050,18 +1038,14 @@
|
||||
'attack-or-shove
|
||||
'attack
|
||||
)
|
||||
(let* ((s2-0 (if (-> this smush-target)
|
||||
'smush
|
||||
(-> this enemy-info attack-mode)
|
||||
)
|
||||
)
|
||||
(s1-0 arg0)
|
||||
(a0-3 (if (type? s1-0 process-focusable)
|
||||
s1-0
|
||||
)
|
||||
)
|
||||
(s1-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(let ((s2-0 (if (-> this smush-target)
|
||||
'smush
|
||||
(-> this enemy-info attack-mode)
|
||||
)
|
||||
)
|
||||
(a0-3 (the-as process (as-type arg0 process-focusable)))
|
||||
(s1-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(vector-! s1-1 (get-trans (the-as process-focusable a0-3) 0) (-> this root trans))
|
||||
(set! (-> s1-1 y) 0.0)
|
||||
(vector-normalize! s1-1 1.0)
|
||||
|
||||
+1
-6
@@ -1361,12 +1361,7 @@
|
||||
(('touch)
|
||||
(let ((s4-0 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> s4-0 quad) (-> self entity trans quad))
|
||||
(let* ((s3-0 proc)
|
||||
(v1-36 (if (type? s3-0 process-drawable)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-36 (the-as process (as-type proc process-drawable))))
|
||||
(when v1-36
|
||||
(let ((s3-2 (vector-! (new 'stack-no-clear 'vector) (-> (the-as process-drawable v1-36) root trans) s4-0))
|
||||
(s4-2
|
||||
|
||||
+22
-43
@@ -267,12 +267,7 @@
|
||||
)
|
||||
)
|
||||
(when (nonzero? (-> self neck))
|
||||
(let* ((gp-0 *target*)
|
||||
(a0-20 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-20 (the-as target (as-type *target* process-focusable))))
|
||||
(if a0-20
|
||||
(target-set! (-> self neck) (get-trans a0-20 2))
|
||||
)
|
||||
@@ -686,39 +681,28 @@
|
||||
(if (logtest? (attack-mask damage) (-> (the-as attack-info s5-2) mask))
|
||||
(set! f28-0 (-> (the-as attack-info s5-2) damage))
|
||||
)
|
||||
(let* ((s4-1 arg0)
|
||||
(f0-4 (cond
|
||||
((if (type? s4-1 gun-blue-shot)
|
||||
s4-1
|
||||
)
|
||||
(if (= (-> self stage) 3)
|
||||
(* 0.0012 f28-0)
|
||||
(* 0.0024 f28-0)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(let ((s4-2 arg0))
|
||||
(cond
|
||||
((if (type? s4-2 gun-dark-shot)
|
||||
s4-2
|
||||
)
|
||||
(if (= (-> self stage) 3)
|
||||
(* 0.003 f28-0)
|
||||
(* 0.006 f28-0)
|
||||
)
|
||||
)
|
||||
((= (-> self stage) 3)
|
||||
(/ f28-0 250)
|
||||
)
|
||||
(else
|
||||
(/ f28-0 125)
|
||||
)
|
||||
)
|
||||
(let ((f0-4 (cond
|
||||
((the-as process (as-type arg0 gun-blue-shot))
|
||||
(if (= (-> self stage) 3)
|
||||
(* 0.0012 f28-0)
|
||||
(* 0.0024 f28-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
((the-as process (as-type arg0 gun-dark-shot))
|
||||
(if (= (-> self stage) 3)
|
||||
(* 0.003 f28-0)
|
||||
(* 0.006 f28-0)
|
||||
)
|
||||
)
|
||||
((= (-> self stage) 3)
|
||||
(/ f28-0 250)
|
||||
)
|
||||
(else
|
||||
(/ f28-0 125)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (and (logtest? (attack-mask penetrate-using) (-> (the-as attack-info s5-2) mask))
|
||||
(logtest? (penetrate dark-bomb) (-> (the-as attack-info s5-2) penetrate-using))
|
||||
)
|
||||
@@ -802,12 +786,7 @@
|
||||
(-> self root)
|
||||
(the-as uint 1)
|
||||
)
|
||||
(let* ((s4-3 arg0)
|
||||
(gp-5 (if (type? s4-3 process-focusable)
|
||||
s4-3
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-5 (the-as process (as-type arg0 process-focusable))))
|
||||
(when gp-5
|
||||
(let ((s3-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))
|
||||
(s4-4 (new 'stack-no-clear 'vector))
|
||||
|
||||
+1
-6
@@ -512,12 +512,7 @@
|
||||
(set! (-> self base-height) (-> self root trans y))
|
||||
)
|
||||
)
|
||||
(let* ((gp-2 *target*)
|
||||
(a0-5 (if (type? gp-2 process-focusable)
|
||||
gp-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-5 (the-as target (as-type *target* process-focusable))))
|
||||
(when a0-5
|
||||
(let* ((gp-3 (-> self root))
|
||||
(s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans a0-5 0) (-> gp-3 trans)) 1.0))
|
||||
|
||||
+3
-9
@@ -11,15 +11,9 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 6 0 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-2 s4-0))
|
||||
(set! (-> v1-2 width) (the float 500))
|
||||
)
|
||||
(let ((v1-3 s4-0))
|
||||
(set! (-> v1-3 height) (the float 150))
|
||||
)
|
||||
(let ((v1-4 s4-0))
|
||||
(set! (-> v1-4 scale) 0.8)
|
||||
)
|
||||
(set-width! s4-0 500)
|
||||
(set-height! s4-0 150)
|
||||
(set-scale! s4-0 0.8)
|
||||
(set! (-> s4-0 flags) (font-flags shadow kerning middle large))
|
||||
(while (or s3-0 (and (< f30-0 (- f28-0)) (< (the-as uint s5-0) (the-as uint 4272))))
|
||||
(+! f30-0 f28-0)
|
||||
|
||||
+1
-5
@@ -1725,11 +1725,7 @@
|
||||
(('touched)
|
||||
(-> arg3 param 0)
|
||||
(when #t
|
||||
(let ((a0-66 (if (type? arg0 process-focusable)
|
||||
arg0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-66 (the-as process (as-type arg0 process-focusable))))
|
||||
(when a0-66
|
||||
(if (send-event
|
||||
a0-66
|
||||
|
||||
+1
-6
@@ -93,12 +93,7 @@
|
||||
:event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
|
||||
(case message
|
||||
(('touch)
|
||||
(let* ((s4-0 proc)
|
||||
(gp-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (the-as process (as-type proc process-focusable))))
|
||||
(when (and gp-0 ((method-of-type touching-shapes-entry prims-touching?)
|
||||
(the-as touching-shapes-entry (-> block param 0))
|
||||
(-> self root)
|
||||
|
||||
+1
-3
@@ -329,9 +329,7 @@
|
||||
(the-as attack-info s3-0)
|
||||
(the-as uint s4-0)
|
||||
self
|
||||
(if (type? proc process-drawable)
|
||||
proc
|
||||
)
|
||||
(the-as process (as-type proc process-drawable))
|
||||
(the-as touching-shapes-entry (-> block param 0))
|
||||
)
|
||||
(if (logtest? (-> (the-as attack-info s3-0) mask) (attack-mask intersection))
|
||||
|
||||
+1
-5
@@ -183,11 +183,7 @@
|
||||
(case message
|
||||
(('touch 'attack)
|
||||
(let* ((s5-0 (-> block param 0))
|
||||
(s4-0 proc)
|
||||
(gp-0 (if (type? s4-0 process-focusable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
(gp-0 (the-as process (as-type proc process-focusable)))
|
||||
(a1-4 (if s5-0
|
||||
((method-of-type touching-shapes-entry prims-touching?)
|
||||
(the-as touching-shapes-entry s5-0)
|
||||
|
||||
+1
-6
@@ -668,12 +668,7 @@
|
||||
(set! (-> v1-28 target-speed) 0.0)
|
||||
)
|
||||
0
|
||||
(let* ((gp-1 (handle->process (-> self focus handle)))
|
||||
(a0-14 (if (type? gp-1 process-focusable)
|
||||
gp-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-14 (the-as process (as-type (handle->process (-> self focus handle)) process-focusable))))
|
||||
(when a0-14
|
||||
(let ((v1-34 (get-trans (the-as process-focusable a0-14) 3)))
|
||||
(set! (-> self target-next-pos quad) (-> v1-34 quad))
|
||||
|
||||
+10
-15
@@ -2007,15 +2007,14 @@
|
||||
)
|
||||
(v1-9 (-> arg1 actor-group 0 data 13 actor))
|
||||
)
|
||||
(when (or (s4-0 s5-0 (the-as process-focusable s3-0) (the-as process-focusable (when v1-9
|
||||
(let ((s2-0 (-> v1-9 extra process)))
|
||||
(if (type? s2-0 process-focusable)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (or (s4-0
|
||||
s5-0
|
||||
(the-as process-focusable s3-0)
|
||||
(the-as process-focusable (if v1-9
|
||||
(the-as process (as-type (-> v1-9 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
(>= (vector4-dot (math-camera-pos) (the-as vector (-> arg1 test-plane))) 0.0)
|
||||
)
|
||||
(ai-task-control-method-12 (-> arg1 ai-ctrl) arg1)
|
||||
@@ -2131,13 +2130,9 @@
|
||||
(if (s4-0
|
||||
s5-0
|
||||
(the-as process-focusable s3-0)
|
||||
(the-as process-focusable (when v1-17
|
||||
(let ((s2-0 (-> v1-17 extra process)))
|
||||
(if (type? s2-0 process-focusable)
|
||||
s2-0
|
||||
)
|
||||
(the-as process-focusable (if v1-17
|
||||
(the-as process (as-type (-> v1-17 extra process) process-focusable))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(play-speech arg1 34)
|
||||
|
||||
+1
-6
@@ -799,12 +799,7 @@
|
||||
(let ((f0-7 (fill-and-probe-using-line-sphere *collide-cache* s3-0)))
|
||||
(when (>= f0-7 0.0)
|
||||
(vector-float*! s5-0 s5-0 f0-7)
|
||||
(let* ((s2-2 (-> s3-0 best-other-tri collide-ptr))
|
||||
(s3-1 (if (type? s2-2 collide-shape-prim)
|
||||
s2-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s3-1 (the-as basic (as-type (-> s3-0 best-other-tri collide-ptr) collide-shape-prim))))
|
||||
(when s3-1
|
||||
(if (logtest? (-> (the-as collide-shape-prim s3-1) prim-core collide-as) (collide-spec enemy))
|
||||
(go-hostile this)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user