jak-project/goal_src/jak2/engine/target/target-anim.gc
2022-11-19 17:58:51 -05:00

1862 lines
72 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: target-anim.gc
;; name in dgo: target-anim
;; dgos: ENGINE, GAME
;; DECOMP BEGINS
(defbehavior target-land-anim target ()
(cond
((using-gun? self)
(case (-> self gun gun-type)
(((pickup-type eco-red) (pickup-type eco-dark))
(-> self draw art-group data 277)
)
(else
(-> self draw art-group data 278)
)
)
)
(else
(let ((v1-9 (ja-group)))
(if (or (and v1-9 (= v1-9 (-> self draw art-group data 394)))
(and (logtest? (focus-status dark) (-> self focus-status)) (nonzero? (-> self darkjak)))
)
(-> self draw art-group data 395)
(-> self draw art-group data 24)
)
)
)
)
)
;; WARN: Return type mismatch symbol vs none.
;; WARN: new jak 2 until loop case, check carefully
(defbehavior target-stance-anim target ()
(let ((gp-0 22))
(new 'stack 'ground-tween-info)
(let ((v1-4 (ja-group)))
(cond
((and v1-4 (or (= v1-4 (-> self draw art-group data 94)) (= v1-4 (-> self draw art-group data 95))))
(set! gp-0 45)
)
((let ((v1-11 (ja-group)))
(and v1-11 (= v1-11 (-> self draw art-group data 61)))
)
((lambda :behavior target
()
(cond
((using-gun? self)
(set! (-> self gun top-anim-low-high) 0.0)
(case (-> self gun gun-type)
(((pickup-type eco-blue))
(push-anim-to-targ
(-> self skel top-anim)
(the-as art-joint-anim (-> self draw art-group data 285))
0.0
0
30
1.0
10.0
#f
)
)
(else
(push-anim-to-targ
(-> self skel top-anim)
(the-as art-joint-anim (-> self draw art-group data 285))
0.0
0
30
1.0
6.0
#f
)
)
)
(ja-no-eval :group! (-> self draw art-group data 62) :num! (seek! (ja-aframe 48.0 0)) :frame-num 0.0)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! (ja-aframe 48.0 0)))
)
(ja-channel-push! 1 (seconds 0.05))
(let ((gp-2 (target-land-anim)))
(ja-no-eval :group! gp-2
:num! (seek! (the float (+ (-> (the-as art-joint-anim gp-2) frames num-frames) -1)))
:frame-num (ja-aframe 64.0 0)
)
)
(until (ja-done? 0)
(ja-blend-eval)
(suspend)
(ja :num! (seek!))
)
)
(else
(ja-no-eval :group! (-> self draw art-group data 62)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 62)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
(ja-no-eval :group! (-> self draw art-group data 24)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 24)) frames num-frames) -1)))
:frame-num (ja-aframe 55.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
)
(none)
)
)
)
((let ((v1-18 (ja-group)))
(and v1-18
(or (= v1-18 (-> self draw art-group data 40))
(= v1-18 (-> self draw art-group data 248))
(= v1-18 (-> self draw art-group data 250))
)
)
)
((lambda :behavior target
()
(set! (-> self control mod-surface) *attack-end-mods*)
(let* ((v1-3 (ja-group))
(a1-0 (cond
((and v1-3 (= v1-3 (-> self draw art-group data 248)))
(-> self draw art-group data 249)
)
(else
(let ((v1-10 (ja-group)))
(cond
((and v1-10 (= v1-10 (-> self draw art-group data 250)))
(-> self draw art-group data 251)
)
((rand-vu-percent? 0.3)
(-> self draw art-group data 42)
)
(else
(-> self draw art-group data 41)
)
)
)
)
)
)
)
(ja-no-eval :group! a1-0
:num! (seek! (the float (+ (-> (the-as art-joint-anim a1-0) frames num-frames) -1)))
:frame-num 0.0
)
)
(until (ja-done? 0)
(when (nonzero? (-> self gun track-target-hold-time))
(forward-up-nopitch->quaternion
(-> self control dir-targ)
(vector-! (new 'stack-no-clear 'vector) (-> self gun track-trans) (-> self control trans))
(vector-y-quaternion! (new-stack-vector0) (-> self control dir-targ))
)
(set-quaternion! (-> self control) (-> self control dir-targ))
(goto cfg-23)
)
(compute-alignment! (-> self align))
(align! (-> self align) (align-opts adjust-quat) 1.0 1.0 1.0)
(suspend)
(ja :num! (seek!))
)
(quaternion-copy! (-> self control dir-targ) (-> self control unknown-quaternion04))
(label cfg-23)
(set! (-> self control mod-surface) *walk-mods*)
(let ((v1-57 (ja-group)))
(when (and (and v1-57 (= v1-57 (-> self draw art-group data 249)))
(and (using-gun? self) (= (-> self gun gun-type) (pickup-type eco-yellow)))
)
(ja-channel-push! 1 (seconds 0.1))
(ja-no-eval :group! (-> self draw art-group data 270)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 270)) frames num-frames) -1)))
:frame-num (ja-aframe 5.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
)
(none)
)
)
)
((let ((v1-25 (ja-group)))
(and v1-25 (= v1-25 (-> self draw art-group data 399)))
)
(ja-no-eval :group! (-> self draw art-group data 400)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 400)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
((let ((v1-55 (ja-group)))
(and v1-55 (= v1-55 (-> self draw art-group data 71)))
)
(ja-no-eval :group! (-> self draw art-group data 72)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 72)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
((let ((v1-85 (ja-group)))
(and v1-85 (= v1-85 (-> self draw art-group data 412)))
)
(ja-no-eval :num! (seek!))
(while (not (ja-done? 0))
(suspend)
(ja-eval)
)
(ja-channel-push! 1 (seconds 0.07))
(ja-no-eval :group! (-> self draw art-group data 396)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 396)) frames num-frames) -1)))
:frame-num (ja-aframe 15.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
(set! gp-0 0)
)
((let ((v1-125 (ja-group)))
(and v1-125
(or (= v1-125 (-> self draw art-group data 48))
(= v1-125 (-> self draw art-group data 402))
(= v1-125 (-> self draw art-group data 409))
(= v1-125 (-> self draw art-group data 404))
(= v1-125 (-> self draw art-group data 406))
(= v1-125 (-> self draw art-group data 413))
)
)
)
((lambda :behavior target
()
(set! (-> self control bend-target) (-> self control bend-amount))
(set! (-> self control mod-surface) *walk-no-turn-mods*)
(let* ((v1-5 (ja-group))
(a1-0 (cond
((and v1-5 (= v1-5 (-> self draw art-group data 402)))
(set! (-> self state-flags) (logior (state-flags lleg-still) (-> self state-flags)))
(-> self draw art-group data 403)
)
((let ((v1-14 (ja-group)))
(and v1-14 (= v1-14 (-> self draw art-group data 409)))
)
(set! (-> self state-flags) (logior (state-flags lleg-still) (-> self state-flags)))
(-> self draw art-group data 410)
)
((let ((v1-23 (ja-group)))
(and v1-23 (= v1-23 (-> self draw art-group data 404)))
)
(set! (-> self state-flags) (logior (state-flags lleg-still) (-> self state-flags)))
(-> self draw art-group data 405)
)
((let ((v1-32 (ja-group)))
(and v1-32 (= v1-32 (-> self draw art-group data 406)))
)
(set! (-> self state-flags) (logior (state-flags lleg-still) (-> self state-flags)))
(-> self draw art-group data 407)
)
(else
(let ((v1-41 (ja-group)))
(cond
((and v1-41 (= v1-41 (-> self draw art-group data 413)))
(set! (-> self state-flags) (logior (state-flags lleg-still) (-> self state-flags)))
(-> self draw art-group data 414)
)
((rand-vu-percent? 0.3)
(-> self draw art-group data 50)
)
(else
(-> self draw art-group data 49)
)
)
)
)
)
)
)
(ja-no-eval :group! a1-0
:num! (seek! (the float (+ (-> (the-as art-joint-anim a1-0) frames num-frames) -1)))
:frame-num 0.0
)
)
(until (ja-done? 0)
(seek! (-> self control bend-target) 0.0 (-> self clock seconds-per-frame))
(suspend)
(ja :num! (seek!))
)
(set! (-> self control mod-surface) *walk-mods*)
(set! (-> self control bend-target) 0.0)
(rot->dir-targ! (-> self control))
(logclear! (-> self state-flags) (state-flags lleg-still rleg-still lleg-no-ik rleg-no-ik))
(none)
)
)
)
((let ((v1-132 (ja-group)))
(and v1-132 (= v1-132 (-> self draw art-group data 273)))
)
(set! (-> self control bend-target) (-> self control bend-amount))
(set! (-> self control mod-surface) *walk-no-turn-mods*)
(let ((a1-18 (-> self draw art-group data 274)))
(ja-no-eval :group! a1-18
:num! (seek! (the float (+ (-> (the-as art-joint-anim a1-18) frames num-frames) -1)))
:frame-num 0.0
)
)
(until (ja-done? 0)
(seek! (-> self control bend-target) 0.0 (-> self clock seconds-per-frame))
(suspend)
(ja :num! (seek!))
)
(set! (-> self control mod-surface) *walk-mods*)
(set! (-> self control bend-target) 0.0)
(rot->dir-targ! (-> self control))
)
((let ((v1-166 (ja-group)))
(and v1-166 (= v1-166 (-> self draw art-group data 275)))
)
(set! (-> self control bend-target) (-> self control bend-amount))
(set! (-> self control mod-surface) *walk-no-turn-mods*)
(let ((a1-21 (-> self draw art-group data 276)))
(ja-no-eval :group! a1-21
:num! (seek! (the float (+ (-> (the-as art-joint-anim a1-21) frames num-frames) -1)))
:frame-num 0.0
)
)
(until (ja-done? 0)
(seek! (-> self control bend-target) 0.0 (-> self clock seconds-per-frame))
(suspend)
(ja :num! (seek!))
)
(set! (-> self control mod-surface) *walk-mods*)
(set! (-> self control bend-target) 0.0)
(rot->dir-targ! (-> self control))
)
((let ((v1-200 (ja-group)))
(and (and v1-200 (or (= v1-200 (-> self draw art-group data 277)) (= v1-200 (-> self draw art-group data 278))))
(not (using-gun? self))
)
)
(set! gp-0 60)
)
((let ((v1-208 (ja-group)))
(and v1-208 (or (= v1-208 (-> self draw art-group data 20))
(= v1-208 (-> self draw art-group data 21))
(= v1-208 (-> self draw art-group data 302))
(= v1-208 (-> self draw art-group data 59))
(= v1-208 (-> self draw art-group data 282))
)
)
)
(cond
((and (logtest? (focus-status dark) (-> self focus-status)) (nonzero? (-> self darkjak)))
(set! gp-0 30)
)
(else
(ja-channel-push! 1 (seconds 0.04))
(ja-no-eval :group! (-> self draw art-group data 19)
:num! (seek! 0.0 1.2)
:frame-num (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 19)) frames num-frames) -1))
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! 0.0 1.2))
)
(set! gp-0 12)
)
)
)
((let ((v1-240 (ja-group)))
(or (and (and v1-240 (or (= v1-240 (-> self draw art-group data 12)) (= v1-240 (-> self draw art-group data 392))))
(begin (set! gp-0 45) (< 0.5 (-> self skel root-channel 6 frame-interp (-> self skel active-frame-interp))))
(not (using-gun? self))
)
(let ((v1-253 (ja-group)))
(and v1-253 (or (= v1-253 (-> self draw art-group data 17))
(= v1-253 (-> self draw art-group data 18))
(= v1-253 (-> self draw art-group data 43))
(= v1-253 (-> self draw art-group data 44))
)
)
)
)
)
(cond
((and (rand-vu-percent? 0.3)
(not (and (logtest? (focus-status dark) (-> self focus-status)) (nonzero? (-> self darkjak))))
)
(ja-channel-push! 1 (seconds 0.1))
(ja-no-eval :group! (-> self draw art-group data 6)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
(else
(let* ((v1-288 (ja-group))
(f30-1
(cond
((and v1-288 (or (= v1-288 (-> self draw art-group data 12)) (= v1-288 (-> self draw art-group data 392))))
(let ((f0-65 (+ 50.0 (* 0.8333333 (+ -25.0 (ja-aframe-num 0))))))
(- f0-65 (* (the float (the int (/ f0-65 50.0))) 50.0))
)
)
(else
0.0
)
)
)
)
(set! gp-0 45)
(ja-channel-push! 1 (the-as time-frame gp-0))
(ja :group! (-> self draw art-group data 4) :num! (identity (ja-aframe f30-1 0)))
)
(dotimes (s5-1 3)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
(ja :num-func num-func-identity :frame-num 0.0)
)
(ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! (ja-aframe 82.0 0)) :frame-num 0.0)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! (ja-aframe 82.0 0)))
)
(when (not (and (logtest? (focus-status dark) (-> self focus-status)) (nonzero? (-> self darkjak))))
(ja-no-eval :group! (-> self draw art-group data 3)
:num! (seek! (ja-aframe 142.0 0))
:frame-num (ja-aframe 82.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! (ja-aframe 142.0 0)))
)
(set! (-> self state-flags) (logior (state-flags lleg-still rleg-still) (-> self state-flags)))
(ja-no-eval :group! (-> self draw art-group data 3)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) frames num-frames) -1)))
:frame-num (ja-aframe 142.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
)
)
)
((let ((v1-378 (ja-group)))
(and (and v1-378 (= v1-378 (-> self draw art-group data 12))) (>= (-> self control ctrl-xz-vel) 5734.4))
)
(set! gp-0 45)
)
)
)
(if (and (using-gun? self) (-> self next-state) (= (-> self next-state name) 'target-stance))
(go target-gun-stance)
)
(let ((v1-395 (ja-group)))
(if (not (and (and v1-395 (= v1-395 (-> self draw art-group data 5))) (= (ja-group-size) 1)))
(ja-channel-push! 1 (the-as time-frame gp-0))
)
)
)
(set! (-> self state-flags) (logior (state-flags lleg-still rleg-still) (-> self state-flags)))
(if (and (logtest? (focus-status dark) (-> self focus-status)) (nonzero? (-> self darkjak)))
(ja :group! (-> self draw art-group data 396))
(ja :group! (-> self draw art-group data 5))
)
(until #f
(suspend)
(ja :num! (loop!))
(if (can-play-stance-amibent?)
(go target-stance-ambient)
)
)
#f
(none)
)
(defbehavior target-stance-push target ((arg0 int))
(let ((v1-2 (ja-group)))
(cond
((or (and (and v1-2 (= v1-2 (-> self draw art-group data 12)))
(< 0.5 (-> self skel root-channel 6 frame-interp (-> self skel active-frame-interp)))
)
(let ((v1-14 (ja-group)))
(and v1-14
(or (= v1-14 (-> self draw art-group data 17))
(= v1-14 (-> self draw art-group data 18))
(= v1-14 (-> self draw art-group data 43))
(= v1-14 (-> self draw art-group data 44))
)
)
)
)
(ja-channel-push! 1 (seconds 0.15))
(ja-no-eval :group! (-> self draw art-group data 4)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
(ja-no-eval :group! (-> self draw art-group data 3)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
(ja-channel-push! arg0 (seconds 0.15))
)
((let ((v1-68 (ja-group)))
(and (and v1-68 (or (= v1-68 (-> self draw art-group data 28))
(= v1-68 (-> self draw art-group data 24))
(= v1-68 (-> self draw art-group data 277))
(= v1-68 (-> self draw art-group data 278))
(= v1-68 (-> self draw art-group data 395))
)
)
(not (ja-max? 0))
)
)
(ja-no-eval :num! (seek!))
(while (not (ja-done? 0))
(suspend)
(ja-eval)
)
(ja-channel-push! arg0 (seconds 0.075))
)
((let ((v1-84 (ja-group)))
(not (and (and v1-84 (= v1-84 (-> self draw art-group data 5))) (= (ja-group-size) 1)))
)
(ja-channel-push! arg0 (seconds 0.075))
)
)
)
(none)
)
(defbehavior target-falling-anim target ((arg0 int) (arg1 time-frame))
(let ((v1-2 (ja-group)))
(cond
((and v1-2 (or (= v1-2 (-> self draw art-group data 27))
(= v1-2 (-> self draw art-group data 51))
(= v1-2 (-> self draw art-group data 267))
)
)
)
((let ((v1-8 (ja-group)))
(and v1-8 (or (= v1-8 (-> self draw art-group data 33)) (= v1-8 (-> self draw art-group data 34))))
)
(ja-channel-push! 1 (seconds 0.15))
(ja-no-eval :group! (-> self draw art-group data 39)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 39)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
((let ((v1-37 (ja-group)))
(and v1-37 (= v1-37 (-> self draw art-group data 39)))
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
(ja-channel-push! 1 (seconds 0.15))
)
(else
(let ((v1-52 (ja-group)))
(cond
((and v1-52 (= v1-52 (-> self draw art-group data 61)))
(let ((s5-0 (-> self clock frame-counter)))
(while (or (= arg0 -1) (< (- (-> self clock frame-counter) s5-0) arg0))
(when (>= (- (-> self clock frame-counter) s5-0) (seconds 0.01))
(let ((v1-62 (ja-group)))
(when (not (and v1-62 (= v1-62 (-> self draw art-group data 27))))
(ja-channel-push! 1 (seconds 0.1))
(ja :group! (-> self draw art-group data 27) :num! min)
)
)
)
(let ((v1-71 (new-stack-vector0))
(f0-12 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))
)
0.0
(vector-! v1-71 (-> self control transv) (vector-float*! v1-71 (-> self control dynam gravity-normal) f0-12))
(let* ((f2-0 (vector-length v1-71))
(f1-2 f2-0)
(f2-1 (* 0.9 f2-0))
)
(vector+!
(-> self control transv)
(vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f0-12)
(vector-float*! v1-71 v1-71 (/ f2-1 f1-2))
)
)
)
(suspend)
(let ((v1-74 (ja-group)))
(if (and v1-74 (= v1-74 (-> self draw art-group data 27)))
(ja :num! (loop!))
(ja :num! (seek!))
)
)
)
)
(return #f)
)
(else
(ja-channel-push! 1 arg1)
(ja :group! (-> self draw art-group data 27))
(while (!= (-> self skel root-channel 0) (-> self skel channel))
(suspend)
)
)
)
)
)
)
)
(ja-no-eval :group! (-> self draw art-group data 27) :num! (loop!) :frame-num 0.0)
(let ((s5-1 (-> self clock frame-counter)))
(while (or (= arg0 -1) (and (< (- (-> self clock frame-counter) s5-1) arg0)
(zero? (logand (-> self control status) (collide-status on-surface)))
)
)
(suspend)
(ja :group! (-> self draw art-group data 27) :num! (loop!))
)
)
#f
)
(defbehavior target-falling-anim-trans target ()
(let ((v1-2 (ja-group)))
(cond
((not (and v1-2 (or (= v1-2 (-> self draw art-group data 27))
(= v1-2 (-> self draw art-group data 24))
(= v1-2 (-> self draw art-group data 277))
(= v1-2 (-> self draw art-group data 278))
)
)
)
(ja-channel-push! 1 (seconds 0.33))
(ja :group! (-> self draw art-group data 27))
)
((and (logtest? (-> self control status) (collide-status on-surface))
(let ((v1-15 (ja-group)))
(and (not (and v1-15 (= v1-15 (-> self draw art-group data 24))))
(zero? (logand (-> self control status) (collide-status on-water)))
)
)
)
(ja-channel-push! 1 (seconds 0.02))
(set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim (target-land-anim)))
)
((let ((v1-23 (ja-group)))
(and v1-23 (= v1-23 (-> self draw art-group data 27)))
)
(ja :num! (loop!))
)
((let ((v1-33 (ja-group)))
(and v1-33 (or (= v1-33 (-> self draw art-group data 24))
(= v1-33 (-> self draw art-group data 277))
(= v1-33 (-> self draw art-group data 278))
)
)
)
(ja :num! (seek!))
)
)
)
0
(none)
)
;; WARN: Return type mismatch symbol vs none.
(defbehavior target-walk-anim target ((arg0 int))
(local-vars (sv-16 float))
(let ((f24-0 0.0)
(f26-0 (fmax 0.0 (fmin 1.0 (* 0.000048828126 (+ -16384.0 (-> self control ctrl-xz-vel))))))
(f30-0 0.0)
(f28-0 0.0)
(s5-0 #f)
)
(let ((v1-6 (ja-group)))
(cond
((and v1-6 (= v1-6 (-> self draw art-group data 22)))
(set! f26-0 1.0)
(ja-channel-push! 7 (seconds 0.05))
)
((let ((v1-12 (ja-group)))
(and v1-12 (or (= v1-12 (-> self draw art-group data 59)) (= v1-12 (-> self draw art-group data 282))))
)
(ja-channel-push! 7 (seconds 0.075))
(set! f26-0 1.0)
)
((let ((v1-19 (ja-group)))
(and v1-19 (= v1-19 (-> self draw art-group data 40)))
)
((lambda :behavior target
()
(let ((f30-0 (fmax 0.8 (fmin 1.0 (* 0.000048828126 (-> self control ctrl-xz-vel))))))
(cond
((and (rand-vu-percent? 0.3) (< 20480.0 (-> self control ctrl-xz-vel)))
(ja-no-eval :group! (-> self draw art-group data 42) :num! (seek! (ja-aframe 29.0 0) f30-0) :frame-num 0.0)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! (ja-aframe 29.0 0) f30-0))
)
(ja-no-eval :group! (-> self draw art-group data 44)
:num! (seek!
(the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 44)) frames num-frames) -1))
f30-0
)
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! max f30-0))
)
)
(else
(ja-no-eval :group! (-> self draw art-group data 41) :num! (seek! (ja-aframe 29.0 0) f30-0) :frame-num 0.0)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! (ja-aframe 29.0 0) f30-0))
)
(ja-no-eval :group! (-> self draw art-group data 43)
:num! (seek!
(the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 43)) frames num-frames) -1))
f30-0
)
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! max f30-0))
)
)
)
)
(ja-channel-push! 7 (seconds 0.05))
(none)
)
)
(set! f26-0 1.0)
(set! f24-0 30.0)
)
((let ((v1-27 (ja-group)))
(and v1-27 (or (= v1-27 (-> self draw art-group data 408)) (= v1-27 (-> self draw art-group data 411))))
)
(set! f26-0 1.0)
(ja-channel-push! 7 (seconds 0.3))
)
((let ((v1-33 (ja-group)))
(and v1-33 (or (= v1-33 (-> self draw art-group data 48))
(= v1-33 (-> self draw art-group data 49))
(= v1-33 (-> self draw art-group data 273))
(= v1-33 (-> self draw art-group data 275))
(= v1-33 (-> self draw art-group data 403))
(= v1-33 (-> self draw art-group data 410))
(= v1-33 (-> self draw art-group data 405))
(= v1-33 (-> self draw art-group data 407))
(= v1-33 (-> self draw art-group data 414))
)
)
)
(set! f26-0 1.0)
(set! f24-0 30.0)
(ja-channel-push! 7 (seconds 0.15))
)
((let ((v1-40 (ja-group)))
(and (and v1-40 (or (= v1-40 (-> self draw art-group data 12))
(= v1-40 (-> self draw art-group data 261))
(= v1-40 (-> self draw art-group data 392))
)
)
(= (ja-group-size) 7)
)
)
(set! f24-0 (ja-aframe-num 0))
(set! f26-0 (-> self control unknown-float002))
(set! f30-0 (-> self control unknown-float-n12iuh3n1))
(set! f28-0 (-> self control unknown-float-ki1jhbn23hj))
)
((let ((v1-50 (ja-group)))
(and v1-50 (= v1-50 (-> self draw art-group data 108)))
)
(set! f24-0 (ja-aframe-num 0))
(ja-channel-push! 7 (seconds 0.1))
)
((let ((v1-55 (ja-group)))
(and v1-55 (= v1-55 (-> self draw art-group data 94)))
)
(set! f24-0 (ja-aframe-num 0))
(ja-channel-push! 7 (seconds 0.05))
)
((let ((v1-60 (ja-group)))
(and (or (and v1-60
(or (= v1-60 (-> self draw art-group data 27))
(= v1-60 (-> self draw art-group data 61))
(= v1-60 (-> self draw art-group data 47))
(= v1-60 (-> self draw art-group data 51))
(= v1-60 (-> self draw art-group data 267))
(= v1-60 (-> self draw art-group data 54))
)
)
(let ((v1-66 (ja-group)))
(and (and v1-66 (or (= v1-66 (-> self draw art-group data 23)) (= v1-66 (-> self draw art-group data 394))))
(< 30.0 (ja-aframe-num 0))
)
)
)
(< 12288.0 (-> self control ctrl-xz-vel))
)
)
((lambda :behavior target
()
(let ((gp-0 (ja-group))
(f30-0 (-> self control ground-impact-vel))
)
(let ((v1-7 (ja-group)))
(if (and v1-7 (or (= v1-7 (-> self draw art-group data 61)) (= v1-7 (-> self draw art-group data 47))))
(ja-channel-push! 1 (seconds 0.05))
(ja-channel-set! 1)
)
)
(cond
((< (if (= gp-0 (-> self draw art-group data 23))
77824.0
102400.0
)
f30-0
)
(ja-no-eval :group! (-> self draw art-group data 17) :num! (seek! (ja-aframe 3.0 0) 1.00001) :frame-num 0.0)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! (ja-aframe 3.0 0) 1.00001))
)
)
((< (if (= gp-0 (-> self draw art-group data 23))
61440.0
102400.0
)
f30-0
)
(ja-no-eval :group! (-> self draw art-group data 17)
:num! (seek! (ja-aframe 3.0 0) 1.00001)
:frame-num (ja-aframe -1.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! (ja-aframe 3.0 0) 1.00001))
)
)
(else
(ja-no-eval :group! (-> self draw art-group data 18) :num! (seek! (ja-aframe 4.0 0) 1.00001) :frame-num 0.0)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! (ja-aframe 4.0 0) 1.00001))
)
)
)
)
(when (using-gun? self)
(set! (-> self gun top-anim-low-high) 0.0)
(case (-> self gun gun-type)
(((pickup-type eco-blue))
(push-anim-to-targ
(-> self skel top-anim)
(the-as art-joint-anim (-> self draw art-group data 262))
16.0
90
60
1.0
0.0
#f
)
)
(else
(push-anim-to-targ
(-> self skel top-anim)
(the-as art-joint-anim (-> self draw art-group data 299))
16.0
90
60
1.0
0.0
#f
)
)
)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! max (/ (* (fmax 20480.0 (-> self control ctrl-xz-vel)) (-> self clock seconds-per-frame))
(/ (-> *TARGET-bank* run-up-cycle-dist) (-> *TARGET-bank* run-cycle-length))
)
)
)
)
(ja-channel-push! 7 (seconds 0.1))
(none)
)
)
(set! f24-0 30.0)
(set! f26-0 1.0)
)
((let ((v1-78 (ja-group)))
(and v1-78 (or (= v1-78 (-> self draw art-group data 23)) (= v1-78 (-> self draw art-group data 394))))
)
(ja-channel-push! 7 (seconds 0.05))
(set! s5-0 #t)
)
(else
(let ((v1-84 (ja-group)))
(cond
((and v1-84 (= v1-84 (-> self draw art-group data 71)))
(ja-channel-push! 7 (seconds 0.15))
)
((and (logtest? (focus-status dark) (-> self focus-status)) (nonzero? (-> self darkjak)))
(set! f24-0 55.0)
(ja-channel-push! 7 (seconds 0.1))
)
(else
(ja-channel-push! 7 (seconds 0.05))
)
)
)
)
)
)
(set! (-> self skel root-channel 3 command) (joint-control-command push))
(set! (-> self skel root-channel 6 command) (joint-control-command stack))
(ja :group! (-> self draw art-group data 12))
(let ((f24-1 (ja-aframe f24-0 0)))
(cond
((and (logtest? (focus-status dark) (-> self focus-status)) (nonzero? (-> self darkjak)))
(let ((s4-0 (-> self skel root-channel 0)))
(let ((f0-3 0.0))
(set! (-> s4-0 frame-interp 1) f0-3)
(set! (-> s4-0 frame-interp 0) f0-3)
)
(set! (-> s4-0 dist) 12288.0)
(joint-control-channel-group-eval!
s4-0
(the-as art-joint-anim (-> self draw art-group data 392))
num-func-identity
)
(set! (-> s4-0 frame-num) f24-1)
)
)
((and (using-gun? self)
(or (= (-> self gun gun-type) (pickup-type eco-yellow)) (= (-> self gun gun-type) (pickup-type eco-blue)))
)
(let ((s4-1 (-> self skel root-channel 0)))
(let ((f0-5 0.0))
(set! (-> s4-1 frame-interp 1) f0-5)
(set! (-> s4-1 frame-interp 0) f0-5)
)
(set! (-> s4-1 dist) 12288.0)
(joint-control-channel-group-eval!
s4-1
(the-as art-joint-anim (-> self draw art-group data 261))
num-func-identity
)
(set! (-> s4-1 frame-num) f24-1)
)
)
(else
(let ((s4-2 (-> self skel root-channel 0)))
(let ((f0-7 0.0))
(set! (-> s4-2 frame-interp 1) f0-7)
(set! (-> s4-2 frame-interp 0) f0-7)
)
(set! (-> s4-2 dist) (-> *TARGET-bank* walk-cycle-dist))
(joint-control-channel-group-eval!
s4-2
(the-as art-joint-anim (-> self draw art-group data 12))
num-func-identity
)
(set! (-> s4-2 frame-num) f24-1)
)
)
)
(let ((s4-3 (-> self skel root-channel 1)))
(let ((f0-9 0.0))
(set! (-> s4-3 frame-interp 1) f0-9)
(set! (-> s4-3 frame-interp 0) f0-9)
)
(set! (-> s4-3 dist) (-> *TARGET-bank* walk-down-cycle-dist))
(joint-control-channel-group-eval!
s4-3
(the-as art-joint-anim (-> self draw art-group data 14))
num-func-identity
)
(set! (-> s4-3 frame-num) f24-1)
)
(let ((s4-4 (-> self skel root-channel 2)))
(let ((f0-11 0.0))
(set! (-> s4-4 frame-interp 1) f0-11)
(set! (-> s4-4 frame-interp 0) f0-11)
)
(set! (-> s4-4 dist) (-> *TARGET-bank* walk-side-cycle-dist))
(joint-control-channel-group-eval!
s4-4
(the-as art-joint-anim (-> self draw art-group data 16))
num-func-identity
)
(set! (-> s4-4 frame-num) f24-1)
)
(let ((s4-5 (-> self skel root-channel 4)))
(let ((f0-13 0.0))
(set! (-> s4-5 frame-interp 1) f0-13)
(set! (-> s4-5 frame-interp 0) f0-13)
)
(set! (-> s4-5 dist) (-> *TARGET-bank* run-down-cycle-dist))
(joint-control-channel-group-eval!
s4-5
(the-as art-joint-anim (-> self draw art-group data 9))
num-func-identity
)
(set! (-> s4-5 frame-num) f24-1)
)
(let ((s4-6 (-> self skel root-channel 5)))
(let ((f0-15 0.0))
(set! (-> s4-6 frame-interp 1) f0-15)
(set! (-> s4-6 frame-interp 0) f0-15)
)
(set! (-> s4-6 dist) (-> *TARGET-bank* run-side-cycle-dist))
(joint-control-channel-group-eval!
s4-6
(the-as art-joint-anim (-> self draw art-group data 11))
num-func-identity
)
(set! (-> s4-6 frame-num) f24-1)
)
(cond
((and (logtest? (focus-status dark) (-> self focus-status)) (nonzero? (-> self darkjak)))
(let ((s4-7 (-> self skel root-channel 3)))
(let ((f0-17 0.0))
(set! (-> s4-7 frame-interp 1) f0-17)
(set! (-> s4-7 frame-interp 0) f0-17)
)
(set! (-> s4-7 dist) 27033.6)
(joint-control-channel-group-eval!
s4-7
(the-as art-joint-anim (-> self draw art-group data 393))
num-func-identity
)
(set! (-> s4-7 frame-num) f24-1)
)
)
((using-gun? self)
(let ((s4-8 (-> self skel root-channel 3)))
(let ((f0-19 0.0))
(set! (-> s4-8 frame-interp 1) f0-19)
(set! (-> s4-8 frame-interp 0) f0-19)
)
(set! (-> s4-8 dist) (-> *TARGET-bank* run-cycle-dist))
(joint-control-channel-group-eval!
s4-8
(the-as art-joint-anim (-> self draw art-group data 299))
num-func-identity
)
(set! (-> s4-8 frame-num) f24-1)
)
)
(else
(let ((s4-9 (-> self skel root-channel 3)))
(let ((f0-21 0.0))
(set! (-> s4-9 frame-interp 1) f0-21)
(set! (-> s4-9 frame-interp 0) f0-21)
)
(set! (-> s4-9 dist) (-> *TARGET-bank* run-cycle-dist))
(joint-control-channel-group-eval!
s4-9
(the-as art-joint-anim (-> self draw art-group data 7))
num-func-identity
)
(set! (-> s4-9 frame-num) f24-1)
)
)
)
)
(let ((s4-10 (-> self clock frame-counter))
(f24-2
(if (and (using-gun? self)
(or (= (-> self gun gun-type) (pickup-type eco-yellow)) (= (-> self gun gun-type) (pickup-type eco-blue)))
)
0.0
1.0
)
)
)
(until (and (>= arg0 0) (>= (- (-> self clock frame-counter) s4-10) arg0))
(let ((f20-0 (fmax -1.0 (fmin 1.0 (* 2.0 (-> self control local-slope-z)))))
(f22-1 (fmax -1.0 (fmin 1.0 (* 1.6 (-> self control local-slope-x)))))
)
(set! sv-16 (fabs (deg-diff (quaternion-y-angle (-> self control dir-targ)) (y-angle (-> self control)))))
(set! f26-0 (seek
f26-0
(fmax 0.0 (fmin 1.0 (* 0.000048828126 (+ -16384.0 (-> self control ctrl-xz-vel)))))
(* 2.0 (-> self clock seconds-per-frame))
)
)
(if (and (logtest? (focus-status dark) (-> self focus-status)) (nonzero? (-> self darkjak)))
(set! f26-0 (seek
f26-0
(lerp-scale f26-0 (* 0.7 f26-0) sv-16 1820.4445 3640.889)
(* 2.0 (-> self clock seconds-per-frame))
)
)
)
(cond
((< 0.5 f26-0)
(let ((v1-206 (-> self skel effect)))
(set! (-> v1-206 channel-offset) 3)
)
0
(logclear! (-> self state-flags) (state-flags lleg-no-ik rleg-no-ik))
)
(else
(let ((v1-211 (-> self skel effect)))
(set! (-> v1-211 channel-offset) 0)
)
0
(set! (-> self state-flags) (logior (state-flags lleg-no-ik rleg-no-ik) (-> self state-flags)))
)
)
(let ((f0-37 (fabs (- f20-0 f30-0))))
(set! f30-0 (seek f30-0 f20-0 (fmax 0.05 (fmin 0.2 (* 0.25 f0-37)))))
)
(let ((f0-42 (fabs (- f22-1 f28-0))))
(set! f28-0 (seek f28-0 f22-1 (fmax 0.05 (fmin 0.2 (* 0.25 f0-42)))))
)
)
(set! (-> self control unknown-float-n12iuh3n1) f30-0)
(set! (-> self control unknown-float-ki1jhbn23hj) f28-0)
(set! (-> self control unknown-float002) f26-0)
(cond
((>= f30-0 0.0)
(let ((v1-228 (-> self skel root-channel 1)))
(let ((f0-48 (* (fabs f30-0) f24-2)))
(set! (-> v1-228 frame-interp 1) f0-48)
(set! (-> v1-228 frame-interp 0) f0-48)
)
(set! (-> v1-228 dist) (-> *TARGET-bank* walk-up-cycle-dist))
(set! (-> v1-228 frame-group) (the-as art-joint-anim (-> self draw art-group data 13)))
)
(let ((v1-231 (-> self skel root-channel 4)))
(let ((f0-50 (fabs f30-0)))
(set! (-> v1-231 frame-interp 1) f0-50)
(set! (-> v1-231 frame-interp 0) f0-50)
)
(set! (-> v1-231 dist) (-> *TARGET-bank* run-up-cycle-dist))
(set! (-> v1-231 frame-group) (the-as art-joint-anim (-> self draw art-group data 8)))
)
)
(else
(let ((v1-234 (-> self skel root-channel 1)))
(let ((f0-53 (* (fabs f30-0) f24-2)))
(set! (-> v1-234 frame-interp 1) f0-53)
(set! (-> v1-234 frame-interp 0) f0-53)
)
(set! (-> v1-234 dist) (-> *TARGET-bank* walk-down-cycle-dist))
(set! (-> v1-234 frame-group) (the-as art-joint-anim (-> self draw art-group data 14)))
)
(let ((v1-237 (-> self skel root-channel 4)))
(let ((f0-55 (fabs f30-0)))
(set! (-> v1-237 frame-interp 1) f0-55)
(set! (-> v1-237 frame-interp 0) f0-55)
)
(set! (-> v1-237 dist) (-> *TARGET-bank* run-down-cycle-dist))
(set! (-> v1-237 frame-group) (the-as art-joint-anim (-> self draw art-group data 9)))
)
)
)
(cond
((>= f28-0 0.0)
(let ((v1-240 (-> self skel root-channel 2)))
(let ((f0-59 (* (fabs f28-0) f24-2)))
(set! (-> v1-240 frame-interp 1) f0-59)
(set! (-> v1-240 frame-interp 0) f0-59)
)
(set! (-> v1-240 dist) (-> *TARGET-bank* walk-side-cycle-dist))
(set! (-> v1-240 frame-group) (the-as art-joint-anim (-> self draw art-group data 15)))
)
(let ((v1-243 (-> self skel root-channel 5)))
(let ((f0-61 (fabs f28-0)))
(set! (-> v1-243 frame-interp 1) f0-61)
(set! (-> v1-243 frame-interp 0) f0-61)
)
(set! (-> v1-243 dist) (-> *TARGET-bank* run-side-cycle-dist))
(set! (-> v1-243 frame-group) (the-as art-joint-anim (-> self draw art-group data 10)))
)
)
(else
(let ((v1-246 (-> self skel root-channel 2)))
(let ((f0-64 (* (fabs f28-0) f24-2)))
(set! (-> v1-246 frame-interp 1) f0-64)
(set! (-> v1-246 frame-interp 0) f0-64)
)
(set! (-> v1-246 dist) (-> *TARGET-bank* walk-side-cycle-dist))
(set! (-> v1-246 frame-group) (the-as art-joint-anim (-> self draw art-group data 16)))
)
(let ((v1-249 (-> self skel root-channel 5)))
(let ((f0-66 (fabs f28-0)))
(set! (-> v1-249 frame-interp 1) f0-66)
(set! (-> v1-249 frame-interp 0) f0-66)
)
(set! (-> v1-249 dist) (-> *TARGET-bank* run-side-cycle-dist))
(set! (-> v1-249 frame-group) (the-as art-joint-anim (-> self draw art-group data 11)))
)
)
)
(let ((v1-252 (-> self skel root-channel 6)))
(set! (-> v1-252 frame-interp 1) f26-0)
(set! (-> v1-252 frame-interp 0) f26-0)
)
(let* ((f1-14 (* (current-cycle-distance (-> self skel)) (-> self control scale x)))
(f0-70 (/ (-> self control ctrl-xz-vel) (* 60.0 (/ f1-14 (-> *TARGET-bank* run-cycle-length)))))
)
(ja :num! (loop! f0-70))
)
(ja :chan 1 :num! (chan 0))
(ja :chan 2 :num! (chan 0))
(ja :chan 3 :num! (chan 0))
(ja :chan 4 :num! (chan 0))
(ja :chan 5 :num! (chan 0))
(if (and s5-0 (!= (-> self skel root-channel 0) (-> self skel channel)))
(ja-blend-eval)
)
(suspend)
)
)
)
(none)
)
(defbehavior target-hit-ground-flop-anim target ((arg0 symbol) (arg1 symbol))
(let ((f30-0 (if (= arg0 'swim)
0.4
1.0
)
)
)
(if (using-gun? self)
(push-anim-to-targ
(-> self skel top-anim)
(the-as art-joint-anim (-> self draw art-group data 288))
0.0
0
30
1.0
0.0
#f
)
)
(ja-channel-set! 1)
(let ((s5-0 (-> self skel root-channel 0)))
(set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 54)))
(set! (-> s5-0 param 0)
(the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 54)) frames num-frames) -1))
)
(let ((f30-1 (seek f30-0 1.0 (* 0.5 (-> self clock seconds-per-frame)))))
(set! (-> s5-0 param 1) f30-1)
(set! (-> s5-0 frame-num) 0.0)
(joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 54)) num-func-seek!)
(until (ja-done? 0)
(compute-alignment! (-> self align))
(align!
(-> self align)
(if arg1
(align-opts adjust-y-vel)
(align-opts adjust-y-vel adjust-xz-vel)
)
1.0
1.0
1.5
)
(when (and (>= 25.0 (ja-aframe-num 0))
(and (>= (ja-aframe-num 0) 21.0)
(and (-> self next-state) (= (-> self next-state name) 'target-flop-hit-ground))
(!= (-> self tobot?) 'tobot)
(!= (-> self control unknown-spool-anim00) 'stuck)
)
)
(when (and (cpad-hold? (-> self control cpad number) x) (can-jump? #f) (!= (-> self control ground-pat event) 7))
(let ((v1-55 (new-stack-vector0)))
(let ((f0-8 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))))
0.0
(vector-! v1-55 (-> self control transv) (vector-float*! v1-55 (-> self control dynam gravity-normal) f0-8))
)
(let* ((f0-9 (vector-length v1-55))
(f1-3 f0-9)
(f2-0 0.0)
)
(vector+!
(-> self control transv)
(vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-0)
(vector-float*! v1-55 v1-55 (/ f0-9 f1-3))
)
)
)
(set! (-> self gun surpress-time) (+ (-> self clock frame-counter) (seconds 0.4)))
(if (using-gun? self)
(go
target-high-jump
(-> *TARGET-bank* flop-jump-height-min)
(-> *TARGET-bank* flop-jump-height-max)
(if arg1
'flop
'flop-forward
)
)
(go
target-duck-high-jump
(-> *TARGET-bank* flop-jump-height-min)
(-> *TARGET-bank* flop-jump-height-max)
(if arg1
'flop
'flop-forward
)
)
)
)
)
(suspend)
(let ((s5-1 (-> self skel root-channel 0)))
(set! (-> s5-1 param 0) (the float (+ (-> s5-1 frame-group frames num-frames) -1)))
(set! f30-1 (seek f30-1 1.0 (* 0.5 (-> self clock seconds-per-frame))))
(set! (-> s5-1 param 1) f30-1)
(joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!)
)
)
)
)
)
0
(none)
)
(defbehavior target-hit-ground-anim target ((arg0 symbol) (arg1 symbol))
(cond
((logtest? (water-flags swimming) (-> self water flags))
)
((let ((v1-5 (ja-group)))
(and v1-5 (or (= v1-5 (-> self draw art-group data 52))
(= v1-5 (-> self draw art-group data 53))
(= v1-5 (-> self draw art-group data 55))
(= v1-5 (-> self draw art-group data 56))
)
)
)
(target-hit-ground-flop-anim arg0 arg1)
)
((and (= (-> self control ground-pat material) (pat-material ice)) (< 16384.0 (-> self control ctrl-xz-vel)))
)
((let ((v1-20 (ja-group)))
(or (and v1-20 (or (= v1-20 (-> self draw art-group data 27))
(= v1-20 (-> self draw art-group data 394))
(= v1-20 (-> self draw art-group data 58))
)
)
(let ((v1-26 (ja-group)))
(and (and v1-26 (= v1-26 (-> self draw art-group data 23)))
(or (>= (ja-aframe-num 0) 38.0)
(and (logtest? (focus-status dark) (-> self focus-status)) (nonzero? (-> self darkjak)))
)
)
)
)
)
(set! (-> self state-flags) (logior (state-flags lleg-still rleg-still) (-> self state-flags)))
(ja-channel-push! 1 (seconds 0.02))
(let ((a1-4 (target-land-anim)))
(ja-no-eval :group! a1-4
:num! (seek! (the float (+ (-> (the-as art-joint-anim a1-4) frames num-frames) -1)))
:frame-num 0.0
)
)
(until (ja-done? 0)
(let ((v1-46 (ja-group)))
(if (or (and (and v1-46 (or (= v1-46 (-> self draw art-group data 277)) (= v1-46 (-> self draw art-group data 278))))
(not (using-gun? self))
)
(let ((v1-53 (ja-group)))
(and (and v1-53 (= v1-53 (-> self draw art-group data 24)))
(and (>= (ja-aframe-num 0) 60.0) (using-gun? self))
)
)
)
(goto cfg-78)
)
)
(suspend)
(ja :num! (seek!))
)
(label cfg-78)
)
((let ((v1-70 (ja-group)))
(and (and v1-70 (or (= v1-70 (-> self draw art-group data 23)) (= v1-70 (-> self draw art-group data 394))))
(>= (ja-aframe-num 0) 35.0)
(not (using-gun? self))
)
)
(set! (-> self state-flags) (logior (state-flags lleg-still rleg-still) (-> self state-flags)))
(ja-channel-set! 1)
(ja-no-eval :group! (-> self draw art-group data 28)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 28)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
(ja-no-eval :group! (-> self draw art-group data 24)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 24)) frames num-frames) -1)))
:frame-num (ja-aframe 50.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
((let ((v1-128 (ja-group)))
(and v1-128
(or (= v1-128 (-> self draw art-group data 23))
(= v1-128 (-> self draw art-group data 30))
(= v1-128 (-> self draw art-group data 394))
)
)
)
((lambda :behavior target
()
(set! (-> self state-flags) (logior (state-flags lleg-still rleg-still) (-> self state-flags)))
(ja-channel-set! 1)
(cond
((using-gun? self)
(ja-no-eval :group! (-> self draw art-group data 28)
:num! (seek! (ja-aframe 41.0 0))
:frame-num (ja-aframe 38.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! (ja-aframe 41.0 0)))
)
(ja-no-eval :num! (seek! 0.0))
(ja-channel-push! 1 (seconds 0.1))
(case (-> self gun gun-type)
(((pickup-type eco-red) (pickup-type eco-dark))
(ja-no-eval :group! (-> self draw art-group data 277)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 277)) frames num-frames) -1)))
:frame-num (ja-aframe 64.0 0)
)
(until (ja-done? 0)
(ja-blend-eval)
(if (not (using-gun? self))
(goto cfg-19)
)
(suspend)
(ja :num! (seek!))
)
)
(else
(ja-no-eval :group! (-> self draw art-group data 278)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 278)) frames num-frames) -1)))
:frame-num (ja-aframe 64.0 0)
)
(until (ja-done? 0)
(ja-blend-eval)
(if (not (using-gun? self))
(goto cfg-19)
)
(suspend)
(ja :num! (seek!))
)
)
)
(label cfg-19)
)
(else
(ja-no-eval :group! (-> self draw art-group data 28)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 28)) frames num-frames) -1)))
:frame-num (ja-aframe 38.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
(ja-no-eval :group! (-> self draw art-group data 24)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 24)) frames num-frames) -1)))
:frame-num (ja-aframe 50.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
)
(none)
)
)
)
((let ((v1-134 (ja-group)))
(and v1-134
(or (= v1-134 (-> self draw art-group data 66))
(= v1-134 (-> self draw art-group data 65))
(= v1-134 (-> self draw art-group data 67))
)
)
)
(set! (-> self state-flags) (logior (state-flags lleg-still rleg-still) (-> self state-flags)))
(let* ((v1-142 (ja-group))
(f30-0 (if (and v1-142 (= v1-142 (-> self draw art-group data 67)))
24576.0
-24576.0
)
)
)
(ja-channel-push! 1 (seconds 0.04))
(ja-no-eval :group! (-> self draw art-group data 28)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 28)) frames num-frames) -1)))
:frame-num (ja-aframe 38.0 0)
)
(until (ja-done? 0)
(set-forward-vel f30-0)
(suspend)
(ja :num! (seek!))
)
)
(ja-no-eval :group! (-> self draw art-group data 24)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 24)) frames num-frames) -1)))
:frame-num (ja-aframe 50.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
((let ((v1-195 (ja-group)))
(and v1-195
(or (= v1-195 (-> self draw art-group data 23))
(= v1-195 (-> self draw art-group data 394))
(= v1-195 (-> self draw art-group data 45))
(= v1-195 (-> self draw art-group data 46))
(= v1-195 (-> self draw art-group data 47))
(= v1-195 (-> self draw art-group data 54))
(= v1-195 (-> self draw art-group data 51))
(= v1-195 (-> self draw art-group data 267))
(= v1-195 (-> self draw art-group data 279))
(= v1-195 (-> self draw art-group data 171))
)
)
)
((lambda :behavior target
()
(set! (-> self state-flags) (logior (state-flags lleg-still rleg-still) (-> self state-flags)))
(ja-channel-push! 1 (seconds 0.04))
(cond
((using-gun? self)
(ja-no-eval :group! (-> self draw art-group data 28)
:num! (seek! (ja-aframe 41.0 0))
:frame-num (ja-aframe 38.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! (ja-aframe 41.0 0)))
)
(ja-no-eval :num! (seek! 0.0))
(ja-channel-push! 1 (seconds 0.1))
(case (-> self gun gun-type)
(((pickup-type eco-red) (pickup-type eco-dark))
(ja-no-eval :group! (-> self draw art-group data 277)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 277)) frames num-frames) -1)))
:frame-num (ja-aframe 64.0 0)
)
(until (ja-done? 0)
(ja-blend-eval)
(suspend)
(ja :num! (seek!))
)
)
(else
(ja-no-eval :group! (-> self draw art-group data 278)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 278)) frames num-frames) -1)))
:frame-num (ja-aframe 64.0 0)
)
(until (ja-done? 0)
(ja-blend-eval)
(suspend)
(ja :num! (seek!))
)
)
)
)
((and (logtest? (focus-status dark) (-> self focus-status)) (nonzero? (-> self darkjak)))
(ja-no-eval :group! (-> self draw art-group data 395)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 395)) frames num-frames) -1)))
:frame-num (ja-aframe 42.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
(else
(ja-no-eval :group! (-> self draw art-group data 24)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 24)) frames num-frames) -1)))
:frame-num (ja-aframe 42.0 0)
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
)
(none)
)
)
)
((let ((v1-201 (ja-group)))
(and v1-201 (or (= v1-201 (-> self draw art-group data 321)) (= v1-201 (-> self draw art-group data 322))))
)
(set! (-> self state-flags) (logior (state-flags lleg-still rleg-still) (-> self state-flags)))
(ja-channel-push! 1 (seconds 0.04))
(ja-no-eval :group! (-> self draw art-group data 323)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 323)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
((let ((v1-232 (ja-group)))
(and v1-232 (or (= v1-232 (-> self draw art-group data 24))
(= v1-232 (-> self draw art-group data 277))
(= v1-232 (-> self draw art-group data 278))
(= v1-232 (-> self draw art-group data 323))
(= v1-232 (-> self draw art-group data 331))
(= v1-232 (-> self draw art-group data 342))
)
)
)
(set! (-> self state-flags) (logior (state-flags lleg-still rleg-still) (-> self state-flags)))
(ja-no-eval :num! (seek!))
(while (not (ja-done? 0))
(suspend)
(ja-eval)
)
)
((let ((v1-248 (ja-group)))
(and v1-248
(or (= v1-248 (-> self draw art-group data 328))
(= v1-248 (-> self draw art-group data 330))
(= v1-248 (-> self draw art-group data 348))
)
)
)
(set! (-> self state-flags) (logior (state-flags lleg-still rleg-still) (-> self state-flags)))
(ja-channel-push! 1 (seconds 0.017))
(ja-no-eval :group! (-> self draw art-group data 331)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 331)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
((let ((v1-279 (ja-group)))
(and v1-279 (or (= v1-279 (-> self draw art-group data 340)) (= v1-279 (-> self draw art-group data 341))))
)
(set! (-> self state-flags) (logior (state-flags lleg-still rleg-still) (-> self state-flags)))
(let ((v1-286 (ja-group)))
(if (and v1-286 (= v1-286 (-> self draw art-group data 341)))
(ja-channel-set! 1)
(ja-channel-push! 1 (seconds 0.04))
)
)
(ja-no-eval :group! (-> self draw art-group data 342)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 342)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
)
(none)
)
;; WARN: Return type mismatch symbol vs none.
(defbehavior target-attack-air-anim target ()
(when (using-gun? self)
(set! (-> self gun top-anim-low-high) 0.0)
(case (-> self gun gun-type)
(((pickup-type eco-yellow))
(push-anim-to-targ
(-> self skel top-anim)
(the-as art-joint-anim (-> self draw art-group data 248))
0.0
30
30
0.6
0.0
#f
)
)
(else
(push-anim-to-targ
(-> self skel top-anim)
(the-as art-joint-anim (-> self draw art-group data 248))
3.0
30
30
0.5
0.0
#f
)
)
)
)
(set! (-> self control unknown-float41) 0.0)
(set! (-> self control unknown-float42) 0.0)
(ja-channel-push! 1 (seconds 0.075))
(set! (-> self control unknown-sound-id01) (sound-play "spin-kick"))
(ja-no-eval :group! (-> self draw art-group data 45)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 45)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(compute-alignment! (-> self align))
(align! (-> self align) (align-opts adjust-quat) 1.0 1.0 1.0)
(suspend)
(ja :num! (seek!))
)
(set! (-> self control unknown-sound-id01) (sound-play "spin-kick"))
(ja :group! (-> self draw art-group data 46) :num! min)
(let ((f30-0 -393216.0))
(let ((f0-11 (target-height-above-ground))
(f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))
)
(while (not (or (and (< (fabs (/ f0-11 (* 0.0033333334 f1-1))) 150.0) (< f1-1 0.0))
(>= (- (-> self clock frame-counter) (-> self state-time)) (seconds 1.7))
)
)
(quaternion-rotate-y!
(-> self control quat-for-control)
(-> self control quat-for-control)
(* f30-0 (-> self clock seconds-per-frame))
)
(suspend)
(ja :num! (loop!))
(set! f0-11 (target-height-above-ground))
(set! f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))
)
)
(ja-no-eval :group! (-> self draw art-group data 47)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 47)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(cond
((< (ja-aframe-num 0) 32.0)
(quaternion-rotate-y!
(-> self control quat-for-control)
(-> self control quat-for-control)
(* f30-0 (-> self clock seconds-per-frame))
)
)
(else
(let ((f0-25
(deg-diff
(quaternion-y-angle (-> self control quat-for-control))
(quaternion-y-angle (-> self control dir-targ))
)
)
)
(quaternion-rotate-y!
(-> self control quat-for-control)
(-> self control quat-for-control)
(* -0.2 (fabs f0-25))
)
)
)
)
(suspend)
(ja :num! (seek!))
)
)
(none)
)
;; WARN: Return type mismatch symbol vs none.
;; WARN: new jak 2 until loop case, check carefully
(defbehavior target-edge-grab-anim target ((arg0 float))
(ja-channel-push! 1 (seconds 0.15))
(ja :group! (-> self draw art-group data 35) :num! min)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
(ja-channel-set! 1)
(until #f
(ja-no-eval :group! (-> self draw art-group data 33)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 33)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(can-play-stance-amibent?)
(suspend)
(ja :num! (seek!))
)
(+! (-> self anim-seed) 1)
(ja-no-eval :group! (-> self draw art-group data 34)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(can-play-stance-amibent?)
(suspend)
(ja :num! (seek!))
)
)
#f
(none)
)