Files
jak-project/test/decompiler/reference/jak2/levels/common/warp-gate_REF.gc
T
Tyler Wilding e975eab15a decompiler: Apply docstring indentation fix to all game versions (#3614)
Previously was only applying to game versions above Jak 2, Fixes #3342
2024-07-29 21:57:07 -04:00

2471 lines
84 KiB
Common Lisp
Vendored
Generated

;;-*-Lisp-*-
(in-package goal)
;; failed to figure out what this is:
(if (not (nmember "common" *kernel-packages*))
(set! *kernel-packages* (cons "common" *kernel-packages*))
)
;; failed to figure out what this is:
(defpartgroup group-warpgate
:id 130
:duration (seconds 0.267)
:flags (use-local-clock unk-6)
:bounds (static-bspherem 0 0 0 8)
:rotate ((degrees 90) (degrees 0) (degrees 0))
:parts ((sp-item 586 :flags (is-3d launch-asap bit7)) (sp-item 587 :flags (launch-asap)) (sp-item 588 :flags (bit7)))
)
;; failed to figure out what this is:
(defpart 586
:init-specs ((:texture (new 'static 'texture-id :index #x13 :page #xc))
(:num 1.0)
(:scale-x (meters 4.75))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 196.0)
(:fade-a -3.1875)
(:timer (seconds 0.267))
(:flags (sp-cpuinfo-flag-2))
(:rotate-y (degrees 0))
)
)
;; failed to figure out what this is:
(defpart 587
:init-specs ((:texture (new 'static 'texture-id :index #xbb :page #xc))
(:num 1.0)
(:scale-x (meters 14))
(:rot-x (degrees 11.25))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 48.0)
(:fade-a -0.8)
(:timer (seconds 0.267))
(:flags (glow))
(:userdata 4096.0)
)
)
;; failed to figure out what this is:
(defpart 588
:init-specs ((:texture (new 'static 'texture-id :index #xc9 :page #xc))
(:num 16.0)
(:x (meters 0) (meters 2))
(:scale-x (meters 0.1) (meters 0.1))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 255.0)
(:scalevel-x (meters -0.0025))
(:scalevel-y :copy scalevel-x)
(:timer (seconds 0.267))
(:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3))
(:rotate-y (degrees 0) (degrees 3600))
)
)
;; failed to figure out what this is:
(defpartgroup group-airtrain-dust-plume :id 131 :bounds (static-bspherem 0 0 0 15) :parts ((sp-item 589)))
;; failed to figure out what this is:
(defpart 589
:init-specs ((:texture (new 'static 'texture-id :page #xc))
(:num 1.0 1.0)
(:x (meters 0) (meters 10))
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y (meters 1) (meters 1))
(:r 128.0)
(:g 106.0 16.0)
(:b 64.0 32.0)
(:a 16.0 32.0)
(:vel-x (meters 0.033333335) (meters 0.033333335))
(:scalevel-x (meters 0.033333335) (meters 0.006666667))
(:rotvel-z (degrees -0.3) (degrees 0.6))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.04 -0.08)
(:accel-y (meters 0.00033333333))
(:friction 0.95 0.03)
(:timer (seconds 4.335))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
(:rotate-y (degrees 0) (degrees 3600))
)
)
;; failed to figure out what this is:
(defpartgroup group-airtrain-dust-hover :id 132 :bounds (static-bspherem 0 0 0 15) :parts ((sp-item 590)))
;; failed to figure out what this is:
(defpart 590
:init-specs ((:texture (new 'static 'texture-id :page #xc))
(:num 1.0)
(:x (meters 0) (meters 5))
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y (meters 1) (meters 1))
(:r 128.0)
(:g 106.0 16.0)
(:b 64.0 32.0)
(:a 16.0 16.0)
(:vel-x (meters 0.033333335) (meters 0.033333335))
(:scalevel-x (meters 0.016666668) (meters 0.006666667))
(:rotvel-z (degrees -0.3) (degrees 0.6))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.04 -0.08)
(:accel-y (meters 0.00033333333))
(:friction 0.95 0.03)
(:timer (seconds 4.335))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
(:rotate-y (degrees 0) (degrees 3600))
)
)
;; failed to figure out what this is:
(defpartgroup group-airtrain-thruster
:id 133
:linger-duration (seconds 2)
:flags (unk-4 unk-6)
:bounds (static-bspherem 0 0 0 12)
:rotate ((degrees 180) (degrees 0) (degrees 0))
:parts ((sp-item 591 :flags (bit6 bit7))
(sp-item 592 :flags (bit6 bit7))
(sp-item 593 :flags (bit7))
(sp-item 594 :flags (bit7))
(sp-item 595 :flags (bit7))
)
)
;; failed to figure out what this is:
(defpartgroup group-airtrain-thruster-off
:id 134
:linger-duration (seconds 2)
:flags (unk-4 unk-6)
:bounds (static-bspherem 0 0 0 12)
:rotate ((degrees 180) (degrees 0) (degrees 0))
:parts ((sp-item 595 :fade-after (meters 120) :falloff-to (meters 90) :flags (bit7))
(sp-item 596 :fade-after (meters 120) :falloff-to (meters 90) :flags (bit7))
(sp-item 597 :flags (bit6 bit7))
)
)
;; failed to figure out what this is:
(defpart 591
:init-specs ((:texture (new 'static 'texture-id :index #xbb :page #xc))
(:num 1.0)
(:y (meters 0.1))
(:scale-x (meters 1) (meters 0.4))
(:rot-x (degrees 2.25))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 64.0 128.0)
(:b 0.0)
(:a 64.0 8.0)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
(:userdata 409.6)
(:rotate-y (degrees 0))
)
)
;; failed to figure out what this is:
(defpart 592
:init-specs ((:texture (new 'static 'texture-id :index #xca :page #xc))
(:num 1.0)
(:y (meters 0.1))
(:scale-x (meters 4.8) (meters 0.6))
(:rot-x (degrees 2.25))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 64.0 128.0)
(:b 0.0)
(:a 16.0 2.0)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
(:userdata 409.6)
(:rotate-y (degrees 0))
)
)
;; failed to figure out what this is:
(defpart 593
:init-specs ((:texture (new 'static 'texture-id :page #xc))
(:num 1.0 2.0)
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y (meters 1) (meters 1))
(:r 196.0)
(:g 128.0 64.0)
(:b :copy g)
(:a 16.0 16.0)
(:vel-x (meters -0.006666667) (meters 0.013333334))
(:vel-y (meters -0.05) (meters -0.1))
(:vel-z (meters -0.006666667) (meters 0.013333334))
(:scalevel-x (meters 0.053333335) (meters 0.053333335))
(:rotvel-z (degrees -1.2) (degrees 2.4))
(:scalevel-y :copy scalevel-x)
(:fade-r 0.0)
(:fade-g 0.0)
(:fade-b 0.0)
(:fade-a -0.21333334 -0.42666668)
(:accel-y (meters 0.00016666666) (meters 0.0005))
(:friction 0.94 0.04)
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 sp-cpuinfo-flag-14))
(:rotate-y (degrees 0))
)
)
;; failed to figure out what this is:
(defpart 596
:init-specs ((:texture (new 'static 'texture-id :page #xc))
(:num 1.0 2.0)
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y (meters 1) (meters 1))
(:r 196.0)
(:g 128.0 64.0)
(:b :copy g)
(:a 10.0 4.0)
(:vel-x (meters -0.006666667) (meters 0.013333334))
(:vel-y (meters -0.05) (meters -0.1))
(:vel-z (meters -0.006666667) (meters 0.013333334))
(:scalevel-x (meters 0.053333335) (meters 0.053333335))
(:rotvel-z (degrees -1.2) (degrees 2.4))
(:scalevel-y :copy scalevel-x)
(:fade-r 0.0)
(:fade-g 0.0)
(:fade-b 0.0)
(:fade-a -0.21333334 -0.42666668)
(:accel-y (meters 0.00016666666) (meters 0.0005))
(:friction 0.94 0.04)
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 sp-cpuinfo-flag-14))
(:rotate-y (degrees 0))
)
)
;; failed to figure out what this is:
(defpart 597
:init-specs ((:texture (new 'static 'texture-id :index #xbb :page #xc))
(:num 1.0)
(:y (meters 0.1))
(:scale-x (meters 1.4) (meters 0.1))
(:rot-x (degrees 2.25))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 48.0 32.0)
(:b 0.0)
(:a 48.0 8.0)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
(:userdata 409.6)
(:rotate-y (degrees 0))
)
)
;; failed to figure out what this is:
(defpart 594
:init-specs ((:texture (new 'static 'texture-id :index #xc9 :page #xc))
(:num 0.0 1.0)
(:x (meters 0) (meters 0.5))
(:scale-x (meters 0.2) (meters 0.1))
(:scale-y :copy scale-x)
(:r 192.0 64.0)
(:g 128.0)
(:b 0.0)
(:a 128.0)
(:omega (degrees 0.0675) (degrees 0.0225))
(:vel-x (meters -0.013333334) (meters 0.026666667))
(:vel-y (meters -0.1) (meters -0.06666667))
(:vel-z (meters -0.013333334) (meters 0.026666667))
(:fade-g -1.0)
(:fade-a -2.56)
(:accel-x (meters 0) (meters 0.0016666667))
(:friction 0.96 0.02)
(:timer (seconds 0.085) (seconds 0.08))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 sp-cpuinfo-flag-14))
(:func 'sparticle-motion-blur)
(:rotate-y (degrees 0) (degrees 3600))
)
)
;; failed to figure out what this is:
(defpart 595
:init-specs ((:num 0.4)
(:rot-x 8)
(:r 1638.4)
(:g 1331.2)
(:b 1433.6)
(:vel-y (meters -0.05) (meters -0.016666668))
(:fade-r 32.768)
(:fade-g 28.671999)
(:fade-b 26.623999)
(:accel-x (meters 0) (meters 0.0016666667))
(:friction 0.94)
(:timer (seconds 0.335))
(:flags (distort))
(:next-time (seconds 0.167))
(:next-launcher 598)
(:rotate-y (degrees 0) (degrees 360))
)
)
;; failed to figure out what this is:
(defpart 598
:init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b -4.096))
)
;; failed to figure out what this is:
(defpartgroup group-warp-hellcat-thruster
:id 135
:duration (seconds 3)
:flags (use-local-clock unk-4)
:bounds (static-bspherem 0 0 0 32)
:parts ((sp-item 599 :flags (is-3d bit7))
(sp-item 600 :flags (is-3d bit7))
(sp-item 601 :flags (bit7))
(sp-item 602 :flags (is-3d bit7))
(sp-item 603 :flags (is-3d bit7))
(sp-item 604 :flags (bit7))
)
)
;; failed to figure out what this is:
(defpart 599
:init-specs ((:texture (new 'static 'texture-id :index #x90 :page #xc))
(:num 1.0)
(:x (meters 1.45))
(:y (meters 1.1))
(:z (meters -5.15))
(:scale-x (meters 0.6))
(:rot-x 4)
(:scale-y (meters 2))
(:r 128.0 128.0)
(:g 32.0 96.0)
(:b :copy g)
(:a 128.0 64.0)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
(:rotate-y (degrees 0))
)
)
;; failed to figure out what this is:
(defpart 600
:init-specs ((:texture (new 'static 'texture-id :index #x90 :page #xc))
(:num 1.0)
(:x (meters 1.45))
(:y (meters 1.1))
(:z (meters -5.15))
(:scale-x (meters 0.6))
(:rot-x 4)
(:rot-z (degrees 90))
(:scale-y (meters 2))
(:r 128.0 128.0)
(:g 32.0 96.0)
(:b :copy g)
(:a 128.0 64.0)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
(:rotate-y (degrees 0))
)
)
;; failed to figure out what this is:
(defpart 601
:init-specs ((:texture (new 'static 'texture-id :index #xca :page #xc))
(:num 1.0)
(:x (meters 1.45))
(:y (meters 1.1))
(:z (meters -4.75))
(:scale-x (meters 1.75))
(:rot-x (degrees 0.5625))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 0.0 64.0)
(:b 0.0)
(:a 16.0 4.0)
(:rotvel-z (degrees 0.3))
(:timer (seconds 0.017))
(:flags (glow))
(:userdata 2048.0)
(:rotate-y (degrees 0))
)
)
;; failed to figure out what this is:
(defpart 602
:init-specs ((:texture (new 'static 'texture-id :index #x90 :page #xc))
(:num 1.0)
(:x (meters -1.45))
(:y (meters 1.1))
(:z (meters -5.15))
(:scale-x (meters 0.6))
(:rot-x 4)
(:scale-y (meters 2))
(:r 128.0 128.0)
(:g 32.0 96.0)
(:b :copy g)
(:a 128.0 64.0)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
(:rotate-y (degrees 0))
)
)
;; failed to figure out what this is:
(defpart 603
:init-specs ((:texture (new 'static 'texture-id :index #x90 :page #xc))
(:num 1.0)
(:x (meters -1.45))
(:y (meters 1.1))
(:z (meters -5.15))
(:scale-x (meters 0.6))
(:rot-x 4)
(:rot-z (degrees 90))
(:scale-y (meters 2))
(:r 128.0 128.0)
(:g 32.0 96.0)
(:b :copy g)
(:a 128.0 64.0)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
(:rotate-y (degrees 0))
)
)
;; failed to figure out what this is:
(defpart 604
:init-specs ((:texture (new 'static 'texture-id :index #xca :page #xc))
(:num 1.0)
(:x (meters -1.45))
(:y (meters 1.1))
(:z (meters -4.75))
(:scale-x (meters 1.75))
(:rot-x (degrees 0.5625))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 0.0 64.0)
(:b 0.0)
(:a 16.0 4.0)
(:rotvel-z (degrees 0.3))
(:timer (seconds 0.017))
(:flags (glow))
(:userdata 2048.0)
(:rotate-y (degrees 0))
)
)
;; failed to figure out what this is:
(defskelgroup skel-warp-gate warp-gate warp-gate-lod0-jg warp-gate-idle-ja
((warp-gate-lod0-mg (meters 999999)))
:bounds (static-spherem 0 3 0 4)
:origin-joint-index 3
)
;; definition of type warp-gate
(deftype warp-gate (process-drawable)
((root collide-shape :override)
(level-name uint32)
(on-notice pair)
(on-activate pair)
(on-close pair)
(wait-for pair)
(continue continue-point)
(distance meters)
(anim-speed float)
(test-time time-frame)
(center vector :inline)
)
(:state-methods
idle
(use continue-point)
hidden
)
(:methods
(init-skel-and-collide (_type_) none)
(setup-fields (_type_) none)
(handle-notice (_type_) continue-point)
)
)
;; definition for method 3 of type warp-gate
(defmethod inspect ((this warp-gate))
(when (not this)
(set! this this)
(goto cfg-4)
)
(let ((t9-0 (method-of-type process-drawable inspect)))
(t9-0 this)
)
(format #t "~2Tlevel-name: ~A~%" (-> this level-name))
(format #t "~2Ton-notice: ~A~%" (-> this on-notice))
(format #t "~2Ton-activate: ~A~%" (-> this on-activate))
(format #t "~2Ton-close: ~A~%" (-> this on-close))
(format #t "~2Twait-for: ~A~%" (-> this wait-for))
(format #t "~2Tcontinue: ~A~%" (-> this continue))
(format #t "~2Tdistance: (meters ~m)~%" (-> this distance))
(format #t "~2Tanim-speed: ~f~%" (-> this anim-speed))
(format #t "~2Ttest-time: ~D~%" (-> this test-time))
(format #t "~2Tcenter: ~`vector`P~%" (-> this center))
(label cfg-4)
this
)
;; definition for method 25 of type warp-gate
(defmethod handle-notice ((this warp-gate))
(let ((s5-0 (script-eval (-> this on-notice))))
(cond
((= s5-0 'hide)
(logior! (-> this draw status) (draw-control-status no-draw))
(set! (-> this continue) #f)
)
(s5-0
(logclear! (-> this draw status) (draw-control-status no-draw))
(set! (-> this continue) (get-continue-by-name *game-info* (the-as string (car s5-0))))
(set! (-> this on-activate) (the-as pair (car (cdr s5-0))))
(set! (-> this wait-for) (the-as pair (car (cdr (cdr s5-0)))))
(set! (-> this on-close) (the-as pair (car (cdr (cdr (cdr s5-0))))))
)
(else
(set! (-> this continue) #f)
)
)
)
(-> this continue)
)
;; failed to figure out what this is:
(defstate hidden (warp-gate)
:virtual #t
:code sleep-code
)
;; failed to figure out what this is:
(defstate idle (warp-gate)
:virtual #t
:event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
(case message
(('hide)
(go-virtual hidden)
)
(('effect)
(process-spawn
part-tracker
:init part-tracker-init
(-> *part-group-id-table* 130)
0
#f
#f
#f
(-> self node-list data 4 bone transform)
:to *entity-pool*
)
)
)
)
:code (behavior ()
(remove-setting! 'allow-progress)
(set-time! (-> self state-time))
(update-transforms (-> self root))
(until #f
(handle-notice self)
(when (and (and *target*
(and (>= (-> self distance) (vector-vector-distance (-> self root trans) (-> *target* control trans)))
(not (logtest? (focus-status teleporting) (-> *target* focus-status)))
)
)
(and (-> self continue)
(not (focus-test? *target* in-head edge-grab pole flut tube board pilot mech indax))
(-> *setting-control* user-current airlock)
(not (-> *setting-control* user-current hint))
)
)
(talker-surpress!)
(when (and (can-display-query? self (the-as string #f) -99.0)
(cond
((and (-> *target* next-state) (let ((v1-30 (-> *target* next-state name)))
(or (= v1-30 'target-warp-in) (= v1-30 'target-warp-out))
)
)
(set-time! (-> self state-time))
#f
)
(else
#t
)
)
(time-elapsed? (-> self state-time) (seconds 0.1))
)
(if (and (cpad-pressed? 0 triangle) (process-grab? *target* #f))
(go-virtual use (-> self continue))
)
(script-eval (-> self on-close))
(let ((gp-0
(new 'stack 'font-context *font-default-matrix* 32 320 0.0 (font-color default) (font-flags shadow kerning))
)
)
(let ((v1-51 gp-0))
(set! (-> v1-51 width) (the float 340))
)
(let ((v1-52 gp-0))
(set! (-> v1-52 height) (the float 80))
)
(let ((v1-53 gp-0))
(set! (-> v1-53 scale) 0.9)
)
(set! (-> gp-0 flags) (font-flags shadow kerning large))
(print-game-text
(lookup-text! *common-text* (text-id press-triangle-to-use) #f)
gp-0
#f
44
(bucket-id progress)
)
)
)
)
(cond
((-> self continue)
(seek! (-> self anim-speed) 1.0 (* 2.0 (seconds-per-frame)))
(setup-masks (-> self draw) 2 0)
)
(else
(setup-masks (-> self draw) 0 2)
(seek! (-> self anim-speed) 0.0 (* 2.0 (seconds-per-frame)))
)
)
(update! (-> self sound))
(ja-post)
(suspend)
(ja :num! (loop! (-> self anim-speed)))
)
#f
)
)
;; failed to figure out what this is:
(defstate use (warp-gate)
:virtual #t
:event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
(case message
(('effect)
(process-spawn
part-tracker
:init part-tracker-init
(-> *part-group-id-table* 130)
0
#f
#f
#f
(-> self node-list data 4 bone transform)
:to *entity-pool*
)
)
)
)
:exit (behavior ()
(remove-setting! 'mode-name)
(remove-setting! 'interp-time)
)
:trans (behavior ()
(send-event *camera* 'joystick 0.0 0.0)
)
:code (behavior ((arg0 continue-point))
(local-vars (v1-38 symbol))
(kill-current-talker (the-as symbol '()) '() 'exit)
(set-setting! 'mode-name 'cam-fixed 0.0 0)
(set-setting! 'interp-time 'abs 0.0 0)
(set-time! (-> self state-time))
(logclear! (-> self mask) (process-mask actor-pause))
(when (not arg0)
(process-release? *target*)
(go-virtual idle)
)
(set-setting! 'allow-progress #f 0.0 0)
(set! (-> *setting-control* user-default border-mode) #t)
(set! (-> *level* play?) #t)
(apply-settings *setting-control*)
(let ((s5-0 (new 'stack-no-clear 'event-message-block)))
(set! (-> s5-0 from) (process->ppointer self))
(set! (-> s5-0 num-params) 4)
(set! (-> s5-0 message) 'change-state)
(set! (-> s5-0 param 0) (the-as uint target-warp-out))
(let ((v1-22 (new 'static 'vector)))
(set! (-> v1-22 quad) (-> self center quad))
(set! (-> s5-0 param 1) (the-as uint v1-22))
)
(set! (-> s5-0 param 2) (the-as uint (target-pos 0)))
(set! (-> s5-0 param 3) (the-as uint (process->handle self)))
(send-event-function *target* s5-0)
)
(script-eval (-> self on-activate))
(while (begin
(set! v1-38 (when (-> self wait-for)
(let* ((s5-1 (-> self wait-for))
(a1-8 (car s5-1))
)
(while (not (null? s5-1))
(when (not (member (level-status *level* (the-as symbol a1-8)) '(loaded active)))
(set! v1-38 #t)
(goto cfg-21)
)
(set! s5-1 (cdr s5-1))
(set! a1-8 (car s5-1))
)
)
#f
)
)
(label cfg-21)
(or v1-38 (not (time-elapsed? (-> self state-time) (seconds 2))))
)
(update! (-> self sound))
(suspend)
(ja :num! (loop!))
(ja-post)
)
(if (not (logtest? (-> arg0 flags) (continue-flags no-blackout)))
(set-blackout-frames (seconds 0.05))
)
(start 'play arg0)
(let ((gp-1 (current-time)))
(until (time-elapsed? gp-1 (seconds 1))
(suspend)
)
)
(while (and *target* (and (>= 81920.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))
(not (logtest? (focus-status teleporting) (-> *target* focus-status)))
)
)
(suspend)
(ja :num! (loop!))
(ja-post)
)
(logior! (-> self mask) (process-mask actor-pause))
(go-virtual idle)
)
)
;; definition for method 23 of type warp-gate
;; WARN: Return type mismatch draw-control vs none.
(defmethod init-skel-and-collide ((this warp-gate))
(let ((s5-0 (new 'process 'collide-shape this (collide-list-enum usually-hit-by-player))))
(set! (-> s5-0 penetrated-by) (penetrate))
(let ((v1-2 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0))))
(set! (-> v1-2 prim-core collide-as) (collide-spec obstacle))
(set! (-> v1-2 prim-core action) (collide-action solid))
(set! (-> v1-2 transform-index) 3)
(set-vector! (-> v1-2 local-sphere) 0.0 12288.0 0.0 16384.0)
(set! (-> s5-0 total-prims) (the-as uint 1))
(set! (-> s5-0 root-prim) v1-2)
)
(set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w)))
(let ((v1-5 (-> s5-0 root-prim)))
(set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as))
(set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with))
)
(set! (-> this root) s5-0)
)
(initialize-skeleton
this
(the-as skeleton-group (art-group-get-by-name *level* "skel-warp-gate" (the-as (pointer uint32) #f)))
(the-as pair 0)
)
(none)
)
;; definition for method 24 of type warp-gate
;; INFO: Used lq/sq
;; WARN: Return type mismatch float vs none.
(defmethod setup-fields ((this warp-gate))
(set! (-> this level-name) (the-as uint (-> this level name)))
(set! (-> this on-notice) (res-lump-struct (-> this entity) 'on-notice pair))
(set! (-> this on-activate) #f)
(set! (-> this wait-for) #f)
(set! (-> this continue) #f)
(set! (-> this on-close) #f)
(set! (-> this part) (create-launch-control (-> *part-group-id-table* 130) this))
(set! (-> this center quad) (-> this root trans quad))
(+! (-> this center y) 13516.8)
(set! (-> this sound)
(new 'process 'ambient-sound (static-sound-spec "warpgate" :fo-max 30) (-> this root trans))
)
(set! (-> this distance) (res-lump-float (-> this entity) 'distance :default 20480.0))
(none)
)
;; definition for function warp-gate-init
;; INFO: Used lq/sq
;; WARN: Return type mismatch object vs none.
(defbehavior warp-gate-init warp-gate ((arg0 entity-actor) (arg1 vector))
(stack-size-set! (-> self main-thread) 512)
(init-skel-and-collide self)
(if arg0
(process-drawable-from-entity! self arg0)
)
(if arg1
(set! (-> self root trans quad) (-> arg1 quad))
)
(logior! (-> self mask) (process-mask actor-pause))
(setup-fields self)
(go-virtual idle)
(none)
)
;; definition for method 11 of type warp-gate
(defmethod init-from-entity! ((this warp-gate) (arg0 entity-actor))
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
This commonly includes things such as:
- stack size
- collision information
- loading the skeleton group / bones
- sounds"
(warp-gate-init arg0 (the-as vector #f))
(none)
)
;; definition for symbol *warp-jump-mods*, type surface
(define *warp-jump-mods* (new 'static 'surface
:name 'jump
:turnv 273066.66
:turnvv 1820444.5
:tiltv 65536.0
:tiltvv 262144.0
:transv-max 65536.0
:target-speed 65536.0
:slip-factor 1.0
:slide-factor 1.0
:slope-up-factor 1.0
:slope-down-factor 1.0
:slope-slip-angle 1.0
:impact-fric 1.0
:bend-factor 1.0
:bend-speed 1.0
:alignv 1.0
:slope-up-traction 1.0
:align-speed 1.0
:turnvf 30.0
:turnvvf 30.0
:tiltvf 150.0
:tiltvvf 15.0
:mode 'air
:flags (surface-flag turn-to-vel turn-when-centered gun-off)
)
)
;; failed to figure out what this is:
(defstate target-warp-out (target)
:event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
(case message
(('death-end)
(let ((v0-0 (the-as object (logior (-> self draw status) (draw-control-status no-draw)))))
(set! (-> self draw status) (the-as draw-control-status v0-0))
v0-0
)
)
(('warp-gate)
(if (not (-> self control unknown-spool-anim00))
'busy
)
)
(else
(target-generic-event-handler proc argc message block)
)
)
)
:enter (behavior ((arg0 vector) (arg1 vector) (arg2 target))
(set-time! (-> self state-time))
(logclear! (-> self control status) (collide-status on-surface on-ground touch-surface))
(set! (-> self control mod-surface) *warp-jump-mods*)
(set! (-> self control unknown-vector37 quad) (-> arg0 quad))
(set! (-> self control unknown-vector38 quad) (-> arg1 quad))
(+! (-> self control unknown-vector37 y) -4096.0)
(set! (-> self control unknown-word04) (the-as uint #f))
(set! (-> self control unknown-handle02) (the-as handle arg2))
(vector-reset! (-> self control transv))
(logior! (-> self state-flags) (state-flags sf6))
(set! (-> self alt-cam-pos quad) (-> arg1 quad))
(forward-up-nopitch->quaternion
(-> self control dir-targ)
(vector-! (new 'stack-no-clear 'vector) arg1 (-> self control trans))
(vector-y-quaternion! (new 'stack-no-clear 'vector) (-> self control dir-targ))
)
)
:exit (behavior ()
(logclear! (-> self state-flags) (state-flags sf6))
)
:code (behavior ((arg0 vector) (arg1 vector) (arg2 target))
(ja-channel-push! 1 (seconds 0.2))
(ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek! (ja-aframe 16.0 0)) :frame-num 0.0)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! (ja-aframe 16.0 0)))
)
(vector-! (-> self control transv) (-> self control unknown-vector37) (-> self control trans))
(vector-xz-normalize! (-> self control transv) 32768.0)
(let ((v1-18 (new-stack-vector0)))
(let ((f0-6 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))))
0.0
(vector-! v1-18 (-> self control transv) (vector-float*! v1-18 (-> self control dynam gravity-normal) f0-6))
)
(let* ((f0-7 (vector-length v1-18))
(f1-1 f0-7)
(f2-4
(- (sqrtf
(* 2.0
(-> self control dynam gravity-length)
(vector-dot
(-> self control dynam gravity-normal)
(vector-! (new 'stack-no-clear 'vector) (-> self control unknown-vector37) (-> self control trans))
)
)
)
(* 0.008333334 (- (-> self control dynam gravity-length)))
)
)
)
(vector+!
(-> self control transv)
(vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-4)
(vector-float*! v1-18 v1-18 (/ f0-7 f1-1))
)
)
)
(let ((v1-20 (-> self control root-prim)))
(set! (-> v1-20 prim-core collide-as) (collide-spec))
(set! (-> v1-20 prim-core collide-with) (collide-spec))
)
0
(set-time! (-> self state-time))
(set! (-> self trans-hook)
(lambda :behavior target
()
(let ((v1-0 (new-stack-vector0))
(f0-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))
)
0.0
(vector-! v1-0 (-> self control transv) (vector-float*! v1-0 (-> self control dynam gravity-normal) f0-1))
(let* ((f1-2 (vector-length v1-0))
(f2-0 f1-2)
)
(if (< f0-1 0.0)
(set! f0-1 8192.0)
)
(vector+!
(-> self control transv)
(vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f0-1)
(vector-float*! v1-0 v1-0 (/ f1-2 f2-0))
)
)
)
(let ((gp-1 (vector-! (new-stack-vector0) (-> self control unknown-vector37) (-> self control trans))))
(set! (-> gp-1 y) 0.0)
(send-event *target* 'sidekick #f)
(when (and (or (< (vector-dot gp-1 (-> self control transv)) 0.0) (-> self control unknown-spool-anim00))
(time-elapsed? (-> self state-time) (seconds 0.05))
)
(vector-seek! (-> self draw color-mult) (new 'static 'vector) (* 2.0 (seconds-per-frame)))
(set! (-> self control transv x) (* 0.95 (-> self control transv x)))
(set! (-> self control transv z) (* 0.95 (-> self control transv z)))
(when (not (-> self control unknown-spool-anim00))
(sound-play "warpgate-tele")
(send-event (handle->process (-> self control unknown-handle02)) 'effect)
(send-event self 'draw #f)
(set! (-> self control unknown-word04) (the-as uint #t))
)
)
)
(none)
)
)
(ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek! (ja-aframe 40.0 0)) :frame-num (ja-aframe 16.0 0))
(until (ja-done? 0)
(suspend)
(ja :num! (seek! (ja-aframe 40.0 0)))
)
(sleep-code)
)
:post target-no-stick-post
)
;; failed to figure out what this is:
(defstate target-warp-in (target)
:event target-generic-event-handler
:enter (behavior ((arg0 vector) (arg1 vector) (arg2 target))
(set! (-> self control did-move-to-pole-or-max-jump-height) (the-as float arg2))
((-> target-warp-out enter) arg0 arg1 arg2)
)
:exit (-> target-warp-out exit)
:trans (behavior ()
(set! (-> self control transv x)
(* 2.4 (- (-> self control unknown-vector38 x) (-> self control unknown-vector37 x)))
)
(set! (-> self control transv z)
(* 2.4 (- (-> self control unknown-vector38 z) (-> self control unknown-vector37 z)))
)
(if (logtest? (-> self control status) (collide-status on-surface))
(go target-hit-ground #f)
)
)
:code (behavior ((arg0 vector) (arg1 vector) (arg2 target))
(let ((a0-1 (-> self control did-move-to-pole-or-max-jump-height)))
(when a0-1
(let ((s5-0 (res-lump-struct (the-as res-lump a0-1) 'camera-name structure)))
(when s5-0
(logclear! (-> self state-flags) (state-flags sf6))
(process-spawn-function
process
(lambda ((arg0 string))
(local-vars (a1-2 event-message-block))
(with-pp
(add-setting! 'entity-name arg0 0.0 0)
(until (send-event-function *camera* a1-2)
(suspend)
(set! a1-2 (new 'stack-no-clear 'event-message-block))
(let ((v1-2 (process->ppointer pp)))
(set! (-> a1-2 from) v1-2)
)
(set! (-> a1-2 num-params) 0)
(set! (-> a1-2 message) 'intro-done?)
)
(none)
)
)
s5-0
:to self
)
)
)
)
)
(let ((v1-13 (-> self control root-prim)))
(set! (-> self control backup-collide-as) (-> v1-13 prim-core collide-as))
(set! (-> self control backup-collide-with) (-> v1-13 prim-core collide-with))
)
(let ((v1-16 (-> self control root-prim)))
(set! (-> v1-16 prim-core collide-as) (collide-spec))
(set! (-> v1-16 prim-core collide-with) (collide-spec))
)
0
(ja-channel-set! 0)
(vector-reset! (-> self control transv))
(move-to-point! (-> self control) (-> self control unknown-vector37))
(let ((s5-1 (current-time)))
(while (or (not (time-elapsed? s5-1 (seconds 1)))
(< 81920.0 (vector-vector-distance (camera-pos) (-> self control trans)))
)
(suspend)
)
)
(set-heading-vec! (-> self control) (-> self control transv))
(rot->dir-targ! (-> self control))
(set-time! (-> self state-time))
(set! (-> self post-hook) target-no-stick-post)
(ja-channel-set! 1)
(send-event
(if arg2
(-> arg2 child 3)
)
'effect
)
(send-event self 'draw #t)
(sound-play "warpgate-tele")
(ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek! (ja-aframe 42.0 0)) :frame-num (ja-aframe 40.0 0))
(until (ja-done? 0)
(let ((v1-59 (new-stack-vector0)))
(let ((f0-5 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))))
0.0
(vector-! v1-59 (-> self control transv) (vector-float*! v1-59 (-> self control dynam gravity-normal) f0-5))
)
(let* ((f0-6 (vector-length v1-59))
(f1-1 f0-6)
(f2-3
(- (sqrtf (* 4096.0 (-> self control dynam gravity-length)))
(* 0.008333334 (- (-> self control dynam gravity-length)))
)
)
)
(vector+!
(-> self control transv)
(vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-3)
(vector-float*! v1-59 v1-59 (/ f0-6 f1-1))
)
)
)
(suspend)
(ja :num! (seek! (ja-aframe 42.0 0)))
)
(ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek! (ja-aframe 50.0 0)) :frame-num (ja-aframe 42.0 0))
(until (ja-done? 0)
(suspend)
(ja :num! (seek! (ja-aframe 50.0 0)))
)
(let ((v1-80 (-> self control root-prim)))
(set! (-> v1-80 prim-core collide-as) (-> self control backup-collide-as))
(set! (-> v1-80 prim-core collide-with) (-> self control backup-collide-with))
)
(ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek!) :frame-num (ja-aframe 50.0 0))
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
(target-falling-anim -1 (seconds 0.33))
)
:post target-no-move-post
)
;; failed to figure out what this is:
(defskelgroup skel-air-train air-train air-train-lod0-jg air-train-idle-ja
((air-train-lod0-mg (meters 999999)))
:bounds (static-spherem 0 2 -2 12.5)
:origin-joint-index 3
)
;; definition of type air-train
(deftype air-train (warp-gate)
"NOTE - I guess this is why sometimes the air-train makes the warp-gate sound"
((part-exhaust-left sparticle-launch-control)
(part-exhaust-right sparticle-launch-control)
(part-dust sparticle-launch-control)
(dust-y float)
(hover-sound sound-id)
(base-pos vector :inline)
)
)
;; definition for method 3 of type air-train
(defmethod inspect ((this air-train))
(when (not this)
(set! this this)
(goto cfg-4)
)
(let ((t9-0 (method-of-type warp-gate inspect)))
(t9-0 this)
)
(format #t "~2Tpart-exhaust-left: ~A~%" (-> this part-exhaust-left))
(format #t "~2Tpart-exhaust-right: ~A~%" (-> this part-exhaust-right))
(format #t "~2Tpart-dust: ~A~%" (-> this part-dust))
(format #t "~2Tdust-y: ~f~%" (-> this dust-y))
(format #t "~2Thover-sound: ~D~%" (-> this hover-sound))
(format #t "~2Tbase-pos: #<vector @ #x~X>~%" (-> this base-pos))
(label cfg-4)
this
)
;; definition for method 7 of type air-train
;; WARN: Return type mismatch warp-gate vs air-train.
(defmethod relocate ((this air-train) (offset int))
(if (nonzero? (-> this part-exhaust-left))
(&+! (-> this part-exhaust-left) offset)
)
(if (nonzero? (-> this part-exhaust-right))
(&+! (-> this part-exhaust-right) offset)
)
(if (nonzero? (-> this part-dust))
(&+! (-> this part-dust) offset)
)
(the-as air-train ((method-of-type warp-gate relocate) this offset))
)
;; definition for method 10 of type air-train
(defmethod deactivate ((this air-train))
"Make a process dead, clean it up, remove it from the active pool, and return to dead pool."
(sound-stop (-> this hover-sound))
(if (nonzero? (-> this part-exhaust-left))
(kill-and-free-particles (-> this part-exhaust-left))
)
(if (nonzero? (-> this part-exhaust-right))
(kill-and-free-particles (-> this part-exhaust-right))
)
(if (nonzero? (-> this part-dust))
(kill-and-free-particles (-> this part-dust))
)
((method-of-type warp-gate deactivate) this)
(none)
)
;; definition for method 23 of type air-train
;; WARN: Return type mismatch draw-control vs none.
(defmethod init-skel-and-collide ((this air-train))
(let ((s5-0 (new 'process 'collide-shape-moving this (collide-list-enum usually-hit-by-player))))
(set! (-> s5-0 dynam) (copy *standard-dynamics* 'process))
(set! (-> s5-0 reaction) cshape-reaction-default)
(set! (-> s5-0 no-reaction)
(the-as (function collide-shape-moving collide-query vector vector object) nothing)
)
(set! (-> s5-0 penetrated-by) (penetrate))
(let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0)))
(set! (-> s5-0 total-prims) (the-as uint 3))
(set! (-> s4-0 prim-core collide-as) (collide-spec obstacle))
(set! (-> s4-0 prim-core collide-with) (collide-spec jak player-list))
(set! (-> s4-0 prim-core action) (collide-action solid))
(set! (-> s4-0 transform-index) 3)
(set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 69632.0)
(set! (-> s5-0 root-prim) s4-0)
)
(let ((v1-13 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0))))
(set! (-> v1-13 prim-core collide-as) (collide-spec obstacle))
(set! (-> v1-13 prim-core collide-with) (collide-spec jak player-list))
(set! (-> v1-13 prim-core action) (collide-action solid))
(set! (-> v1-13 transform-index) 4)
(set-vector! (-> v1-13 local-sphere) 0.0 10240.0 0.0 24576.0)
)
(let ((v1-15 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 1) (the-as uint 0))))
(set! (-> v1-15 prim-core collide-as) (collide-spec obstacle))
(set! (-> v1-15 prim-core collide-with) (collide-spec jak player-list))
(set! (-> v1-15 prim-core action) (collide-action solid))
(set! (-> v1-15 transform-index) 3)
(set-vector! (-> v1-15 local-sphere) 0.0 0.0 0.0 53248.0)
)
(set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w)))
(let ((v1-18 (-> s5-0 root-prim)))
(set! (-> s5-0 backup-collide-as) (-> v1-18 prim-core collide-as))
(set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with))
)
(set! (-> this root) s5-0)
)
(initialize-skeleton
this
(the-as skeleton-group (art-group-get-by-name *level* "skel-air-train" (the-as (pointer uint32) #f)))
(the-as pair 0)
)
(none)
)
;; definition for method 24 of type air-train
;; INFO: Used lq/sq
;; WARN: Return type mismatch sound-id vs none.
(defmethod setup-fields ((this air-train))
(let ((t9-0 (method-of-type warp-gate setup-fields)))
(t9-0 this)
)
(set! (-> this base-pos quad) (-> this root trans quad))
(let ((v1-2 (-> this level-name)))
(set! (-> this dust-y) (cond
((= v1-2 'nest)
-1105.92
)
((= v1-2 'caspad)
114647.04
)
(else
(the-as float #x7f800000)
)
)
)
)
(set! (-> this part-exhaust-left) (create-launch-control (-> *part-group-id-table* 134) this))
(set! (-> this part-exhaust-right) (create-launch-control (-> *part-group-id-table* 134) this))
(set! (-> this part-dust) (create-launch-control (-> *part-group-id-table* 132) this))
(set! (-> this root pause-adjust-distance) 368640.0)
(set! (-> this hover-sound) (sound-play "air-train"))
(none)
)
;; failed to figure out what this is:
(defstate idle (air-train)
:virtual #t
:post (behavior ()
(let ((t9-0 (-> (method-of-type warp-gate idle) post)))
(if t9-0
((the-as (function none) t9-0))
)
)
(set! (-> self root trans y) (+ (-> self base-pos y)
(* 696.32 (cos (* 66.19798 (the float (mod (current-time) 990)))))
(* 450.56 (cos (* 42.25403 (the float (mod (current-time) 1551)))))
)
)
(spawn-with-cspace (-> self part-exhaust-left) (joint-node air-train-lod0-jg thruster_l))
(spawn-with-cspace (-> self part-exhaust-right) (joint-node air-train-lod0-jg thruster_r))
(let ((f0-9 (-> self dust-y)))
(when (!= f0-9 (the-as float #x7f800000))
(let ((a1-2 (new 'stack-no-clear 'vector)))
(set! (-> a1-2 quad) (-> self root trans quad))
(set! (-> a1-2 y) f0-9)
(spawn (-> self part-dust) a1-2)
)
)
)
(sound-play "air-train" :id (-> self hover-sound) :position (-> self root trans))
)
)
;; failed to figure out what this is:
(defstate use (air-train)
:virtual #t
:code (behavior ((arg0 continue-point))
(kill-current-talker (the-as symbol '()) '() 'exit)
(set-time! (-> self state-time))
(logclear! (-> self mask) (process-mask actor-pause))
(when (not arg0)
(process-release? *target*)
(go-virtual idle)
)
(set-setting! 'allow-progress #f 0.0 0)
(set! (-> *setting-control* user-default border-mode) #t)
(set! (-> *level* play?) #t)
(apply-settings *setting-control*)
(sound-stop (-> self hover-sound))
(set! (-> self hover-sound) (new 'static 'sound-id))
(script-eval (-> self on-activate))
(sleep-code)
)
)
;; failed to figure out what this is:
(scene-method-16 (new 'static 'scene
:name "city-air-train-in-caspad"
:extra #f
:info #f
:mask-to-clear (process-mask movie enemy platform projectile)
:entity "scene-stage-87"
:art-group "scenecamera"
:anim "city-air-train-in-caspad"
:parts 3
:command-list '((0
(kill "air-train-1")
(fadein (frame-time-30 (new 'static 'bfloat :data 10.0)))
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 0 102)
)
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 0 102)
)
)
(102
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 102 280)
)
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 102 280)
)
)
(265 (fadeout (frame-time-30 (new 'static 'bfloat :data 15.0))))
)
:cut-list '(51 102 226)
:wait-ground-time (seconds 1)
:draw-target #f
:abort #t
:actor (new 'static 'boxed-array :type scene-actor
(new 'static 'scene-actor
:name "scenecamera"
:level #f
:art-group "skel-scenecamera"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:camera 4
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "sidekick-highres"
:level 'ljakdax
:art-group "skel-sidekick-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "jak-highres"
:level 'ljakdax
:art-group "skel-jak-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "air-train"
:level 'ctyport
:art-group "skel-air-train"
:prefix ""
:draw-frames '((min max))
:scissor-frames '((102 max))
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
)
:load-point-obj "ctyport-air-train"
:end-point-obj "caspad-warp"
:borrow '()
:sfx-volume -1.0
:ambient-volume -1.0
:music-volume -1.0
:blackout-end #t
:peaceful #t
:music-delay 1500.0
:save #t
)
)
;; failed to figure out what this is:
(scene-method-16 (new 'static 'scene
:name "city-air-train-in-nest"
:extra #f
:info #f
:mask-to-clear (process-mask movie enemy platform projectile)
:entity "scene-stage-87"
:art-group "scenecamera"
:anim "city-air-train-in-nest"
:parts 3
:command-list '((0
(kill "air-train-1")
(fadein (frame-time-30 (new 'static 'bfloat :data 10.0)))
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 0 102)
)
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 0 102)
)
)
(102
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 102 280)
)
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 102 280)
)
)
(265 (fadeout (frame-time-30 (new 'static 'bfloat :data 15.0))))
)
:cut-list '(51 102 226)
:wait-ground-time (seconds 1)
:draw-target #f
:abort #t
:actor (new 'static 'boxed-array :type scene-actor
(new 'static 'scene-actor
:name "scenecamera"
:level #f
:art-group "skel-scenecamera"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:camera 4
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "sidekick-highres"
:level 'ljakdax
:art-group "skel-sidekick-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "jak-highres"
:level 'ljakdax
:art-group "skel-jak-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "air-train"
:level 'ctyport
:art-group "skel-air-train"
:prefix ""
:draw-frames '((min max))
:scissor-frames '((102 max))
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
)
:load-point-obj "ctyport-air-train"
:end-point-obj "nest-warp"
:borrow '()
:sfx-volume -1.0
:ambient-volume -1.0
:music-volume -1.0
:blackout-end #t
:peaceful #t
:music-delay 1500.0
:save #t
)
)
;; failed to figure out what this is:
(scene-method-16 (new 'static 'scene
:name "city-air-train-out"
:extra #f
:info #f
:mask-to-clear (process-mask movie enemy platform projectile)
:entity "scene-stage-87"
:art-group "scenecamera"
:anim "city-air-train-out"
:parts 2
:command-list '((0
(kill "air-train-1")
(fadein (frame-time-30 (new 'static 'bfloat :data 10.0)))
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 0 98)
)
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 0 98)
)
)
(98
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 98 240)
)
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 98 240)
)
)
(230 (fadeout (frame-time-30 (new 'static 'bfloat :data 10.0))))
)
:cut-list '(98 188)
:wait-ground-time (seconds 1)
:draw-target #f
:abort #t
:actor (new 'static 'boxed-array :type scene-actor
(new 'static 'scene-actor
:name "scenecamera"
:level #f
:art-group "skel-scenecamera"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:camera 4
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "sidekick-highres"
:level 'ljakdax
:art-group "skel-sidekick-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "jak-highres"
:level 'ljakdax
:art-group "skel-jak-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "air-train"
:level 'ctyport
:art-group "skel-air-train"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
)
:load-point-obj "ctyport-air-train"
:end-point-obj "ctyport-warp"
:borrow '()
:sfx-volume -1.0
:ambient-volume -1.0
:music-volume -1.0
:blackout-end #t
:peaceful #t
:music-delay 1500.0
:save #t
)
)
;; failed to figure out what this is:
(scene-method-16
(new 'static 'scene
:name "city-ashelin-drop-off"
:extra #f
:info #f
:mask-to-clear (process-mask movie enemy platform projectile)
:entity "scene-stage-87"
:art-group "scenecamera"
:anim "city-ashelin-drop-off"
:parts 3
:command-list '((0
(kill "air-train-1")
(fadein (frame-time-30 (new 'static 'bfloat :data 10.0)))
(fma-sphere
(nav kill-once)
sphere
(new 'static 'vector :x 1585152.0 :y 31539.2 :z 7225344.0 :w 26624.0)
duration
(frame-range (new 'static 'bfloat) (new 'static 'bfloat :data 9.0))
)
(fma-sphere
(nav kill-once)
sphere
(new 'static 'vector :x 1570816.0 :y 31539.2 :z 7249920.0 :w 30720.0)
duration
(frame-range (new 'static 'bfloat) (new 'static 'bfloat :data 21.0))
)
(fma-sphere
(nav kill-once)
sphere
(new 'static 'vector :x 1556480.0 :y 31539.2 :z 7278592.0 :w 34816.0)
duration
(frame-range (new 'static 'bfloat) (new 'static 'bfloat :data 48.0))
)
(fma-sphere (nav kill-once) sphere (new 'static 'vector :x 1542144.0 :y 31539.2 :z 7303168.0 :w 34816.0))
(fma-sphere
(nav kill-once)
sphere
(new 'static 'vector :x 1527808.0 :y 31539.2 :z 7331840.0 :w 34816.0)
duration
(frame-range (new 'static 'bfloat) (new 'static 'bfloat :data 208.0))
)
(fma-sphere
(nav kill-once)
sphere
(new 'static 'vector :x 1499136.0 :y 31539.2 :z 7360512.0 :w 34816.0)
duration
(frame-range (new 'static 'bfloat) (new 'static 'bfloat :data 225.0))
)
(fma-sphere
(nav kill-once)
sphere
(new 'static 'vector :x 1486848.0 :y 31539.2 :z 7380992.0 :w 38912.0)
duration
(frame-range (new 'static 'bfloat) (new 'static 'bfloat :data 233.0))
)
(fma-sphere
(nav kill-once)
sphere
(new 'static 'vector :x 1451212.8 :y 31539.2 :z 7389184.0 :w 38912.0)
duration
(frame-range (new 'static 'bfloat) (new 'static 'bfloat :data 245.0))
)
(fma-sphere
(nav kill-once)
sphere
(new 'static 'vector :x 1409433.6 :y 31539.2 :z 7412531.0 :w 38912.0)
duration
(frame-range (new 'static 'bfloat) (new 'static 'bfloat :data 245.0))
)
(fma-sphere
(nav kill-once)
sphere
(new 'static 'vector :x 1518592.0 :y 31539.2 :z 7317504.0 :w 22528.0)
duration
(frame-range (new 'static 'bfloat) (new 'static 'bfloat :data 295.0))
)
(fma-sphere (nav kill-once) sphere (new 'static 'vector :x 1525350.4 :y 31539.2 :z 7272857.5 :w 17203.2))
)
(177 (part-tracker
"group-warp-hellcat-thruster"
entity
"hellcat"
joint
"main"
track
#t
duration
(frame-range 177 295)
)
)
(290 (fadeout (frame-time-30 (new 'static 'bfloat :data 10.0))))
)
:cut-list '(115 177)
:wait-ground-time (seconds 1)
:draw-target #f
:abort #t
:actor (new 'static 'boxed-array :type scene-actor
(new 'static 'scene-actor
:name "scenecamera"
:level #f
:art-group "skel-scenecamera"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:camera 4
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "sidekick-highres"
:level 'ljkdxash
:art-group "skel-sidekick-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "jak-highres"
:level 'ljkdxash
:art-group "skel-jak-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "ashelin-highres"
:level 'ljkdxash
:art-group "skel-ashelin-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "hellcat"
:level 'lwidea
:art-group "skel-hellcat"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
)
:load-point-obj "ctyport-air-train-ashelin"
:end-point-obj "ctyport-start"
:borrow '((ctywide 1 lwidea special))
:sfx-volume -1.0
:ambient-volume -1.0
:music-volume -1.0
:blackout-end #t
:peaceful #t
:music-delay 1500.0
:save #t
)
)
;; failed to figure out what this is:
(scene-method-16 (new 'static 'scene
:name "caspad-air-train-in"
:extra #f
:info #f
:mask-to-clear (process-mask movie enemy platform projectile)
:entity "air-train-3"
:art-group "scenecamera"
:anim "caspad-air-train-in"
:parts 4
:command-list '((0
(kill "air-train-3")
(fadein (frame-time-30 (new 'static 'bfloat :data 5.0)))
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 0 285)
)
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 0 285)
)
)
(285
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 285 480)
)
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 285 480)
)
)
(293 (part-tracker
"group-airtrain-dust-plume"
entity
"particleman"
joint
"particleA"
track
#t
duration
(frame-range 293 370)
)
)
(470 (fadeout (frame-time-30 10)))
)
:cut-list '(93 285)
:wait-ground-time (seconds 1)
:draw-target #f
:abort #t
:actor (new 'static 'boxed-array :type scene-actor
(new 'static 'scene-actor
:name "scenecamera"
:level #f
:art-group "skel-scenecamera"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:camera 4
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "sidekick-highres"
:level 'caspad
:art-group "skel-sidekick-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "jak-highres"
:level 'caspad
:art-group "skel-jak-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "air-train"
:level 'caspad
:art-group "skel-air-train"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "particleman"
:level 'caspad
:art-group "skel-particleman"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
)
:load-point-obj "caspad-warp"
:end-point-obj "ctyport-warp"
:borrow '()
:sfx-volume -1.0
:ambient-volume -1.0
:music-volume -1.0
:blackout-end #t
:peaceful #t
:music-delay 1500.0
:save #t
)
)
;; failed to figure out what this is:
(scene-method-16
(new 'static 'scene
:name "caspad-air-train-out"
:extra #f
:info #f
:mask-to-clear (process-mask movie enemy platform projectile)
:entity "air-train-3"
:art-group "scenecamera"
:anim "caspad-air-train-out"
:parts 3
:command-list '((0
(kill "air-train-3")
(fadein (frame-time-30 (new 'static 'bfloat :data 10.0)))
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 0 195)
)
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 0 195)
)
)
(80
(part-tracker
"group-airtrain-dust-plume"
entity
"particleman"
joint
"particleA"
track
#t
duration
(frame-range 80 190)
)
)
(180
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 180 295)
)
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 180 295)
)
)
(285 (fadeout (frame-time-30 (new 'static 'bfloat :data 10.0))))
(10000
(apply
,(lambda :behavior scene-player
()
(set! (-> self scene end-point-obj) (if (task-node-closed? (game-task-node castle-break-in-introduction))
"caspad-face-castle"
"caspad-warp"
)
)
(none)
)
)
)
)
:cut-list '(180)
:wait-ground-time (seconds 1)
:draw-target #f
:abort #t
:actor (new 'static 'boxed-array :type scene-actor
(new 'static 'scene-actor
:name "scenecamera"
:level #f
:art-group "skel-scenecamera"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:camera 4
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "sidekick-highres"
:level 'caspad
:art-group "skel-sidekick-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "jak-highres"
:level 'caspad
:art-group "skel-jak-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "air-train"
:level 'caspad
:art-group "skel-air-train"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "particleman"
:level 'caspad
:art-group "skel-particleman"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
)
:load-point-obj "caspad-warp"
:end-point-obj "caspad-warp"
:borrow '()
:sfx-volume -1.0
:ambient-volume -1.0
:music-volume -1.0
:blackout-end #t
:peaceful #t
:music-delay 1500.0
:save #t
)
)
;; failed to figure out what this is:
(scene-method-16 (new 'static 'scene
:name "nest-air-train-in"
:extra #f
:info #f
:mask-to-clear (process-mask movie enemy platform projectile)
:entity "scene-stage-90"
:art-group "scenecamera"
:anim "nest-air-train-in"
:parts 3
:command-list '((0
(kill "air-train-4")
(fadein (frame-time-30 (new 'static 'bfloat :data 5.0)))
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 0 88)
)
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 0 88)
)
)
(88
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 88 280)
)
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 88 280)
)
)
(75 (part-tracker
"group-airtrain-dust-plume"
entity
"particleman"
joint
"particleA"
track
#t
duration
(frame-range 90 170)
)
)
(265 (fadeout (frame-time-30 (new 'static 'bfloat :data 15.0))))
)
:cut-list '(30 88)
:wait-ground-time (seconds 1)
:draw-target #f
:abort #t
:actor (new 'static 'boxed-array :type scene-actor
(new 'static 'scene-actor
:name "scenecamera"
:level #f
:art-group "skel-scenecamera"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:camera 4
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "sidekick-highres"
:level 'nestb
:art-group "skel-sidekick-highres"
:prefix ""
:draw-frames '((min 117))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "darkjak-highres"
:level 'nestb
:art-group "skel-darkjak-highres"
:prefix ""
:draw-frames '((min 117))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "air-train"
:level 'nest
:art-group "skel-air-train"
:prefix ""
:draw-frames '((min max))
:scissor-frames '((30 88))
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "particleman"
:level 'nestb
:art-group "skel-particleman"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:shadow-flags -1
:shadow-volume-joint #f
)
)
:load-point-obj "nest-warp"
:end-point-obj "ctyport-warp"
:borrow '()
:sfx-volume -1.0
:ambient-volume -1.0
:music-volume -1.0
:blackout-end #t
:peaceful #t
:music-delay 1500.0
:save #t
)
)
;; failed to figure out what this is:
(scene-method-16 (new 'static 'scene
:name "nest-air-train-out"
:extra #f
:info #f
:mask-to-clear (process-mask movie enemy platform projectile)
:entity "scene-stage-90"
:art-group "scenecamera"
:anim "nest-air-train-out"
:parts 3
:command-list '((0
(kill "air-train-4")
(fadein (frame-time-30 (new 'static 'bfloat :data 15.0)))
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 0 242)
)
(part-tracker
"group-airtrain-thruster"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 0 242)
)
)
(130 (part-tracker
"group-airtrain-dust-plume"
entity
"particleman"
joint
"particleA"
track
#t
duration
(frame-range 130 296)
)
)
(232
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_l"
track
#t
duration
(frame-range 232 300)
)
(part-tracker
"group-airtrain-thruster-off"
entity
"air-train"
joint
"thruster_r"
track
#t
duration
(frame-range 232 300)
)
)
(295 (fadeout (frame-time-30 (new 'static 'bfloat :data 5.0))))
)
:cut-list '(232)
:wait-ground-time (seconds 1)
:draw-target #f
:abort #t
:actor (new 'static 'boxed-array :type scene-actor
(new 'static 'scene-actor
:name "scenecamera"
:level #f
:art-group "skel-scenecamera"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:camera 4
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "sidekick-highres"
:level 'nestb
:art-group "skel-sidekick-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "darkjak-highres"
:level 'nestb
:art-group "skel-darkjak-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "air-train"
:level 'nest
:art-group "skel-air-train"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "particleman"
:level 'nestb
:art-group "skel-particleman"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:shadow-flags -1
:shadow-volume-joint #f
)
)
:load-point-obj "nest-warp"
:end-point-obj "nest-warp"
:borrow '()
:sfx-volume -1.0
:ambient-volume -1.0
:music-volume -1.0
:blackout-end #t
:peaceful #t
:music-delay 1500.0
:save #t
)
)