mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
a857061e96
There are *a lot* of file changes and while I have carefully gone through every gsrc change to fix up manual patches, there might still be spots that I missed.
1858 lines
72 KiB
Common Lisp
1858 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 (focus-test? self dark) (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 (focus-test? self dark) (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 (focus-test? self dark) (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 (focus-test? self dark) (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 (focus-test? self dark) (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)
|
|
(not (logtest? (-> 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))))
|
|
(not (logtest? (-> 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 (focus-test? self dark) (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 (focus-test? self dark) (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 (focus-test? self dark) (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 (focus-test? self dark) (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 (focus-test? self dark) (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 (focus-test? self dark) (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)
|
|
)
|