[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.


![image](https://github.com/user-attachments/assets/5c31bf85-97b4-437c-bc4b-dc054e60551e)

---------

Co-authored-by: water111 <awaterford1111445@gmail.com>
This commit is contained in:
water111
2025-02-01 21:23:11 -05:00
committed by GitHub
parent d5590ab638
commit 48cb9bb787
645 changed files with 5391 additions and 16694 deletions
+1 -6
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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)
@@ -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))
)
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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))
)
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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)
@@ -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
View File
@@ -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
View File
@@ -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))
@@ -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)
)
@@ -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))
@@ -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
View File
@@ -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))
@@ -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))
)
@@ -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))
@@ -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)
)
@@ -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)
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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)))
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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))
@@ -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))
@@ -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)
)
@@ -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))
@@ -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))
@@ -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
View File
@@ -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
View File
@@ -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)))
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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))))
)
)
)
)
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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